title: EventsThreadsShutdown not always, ProcessExit always works, why
body: <p>I need a general purpose (any <code>C#</code> app) way of catching the event of any type of <code>C#</code> application ending so I can write log data to a file at that time. </p>
  
  <p>I discovered that <code>Microsoft.Win32.SystemEvents.EventsThreadShutdown</code> does not catch the <code>shutdown</code> event for a Multithreaded C# application I am testing with called <code>SrcChess2</code>.   <code>EventThreadShutdown</code> does work with simple single threaded applications.</p>
  
  <p>I then discovered that <code>AppDomain.CurrentDomain.ProcessExit</code> does seem to work correctly with Multithreaded and single threaded apps.</p>
  
  <p>Can anyone explain why <code>EventsThreadsShutdown</code> does not always work, does not work with my Multithread Application?</p>
  
  <p>Thanks!</p>