title: Why shouldn't I use Process.GetCurrentProcess().Kill() to exit my WinForm application?
body: <p>Right now, when the user want to exit my application, I do the few things I have to (ie disconnecting from the server, saving the user data...) and then I do the following :</p>
  
  <ul>
  <li>Exit all my mainloops using booleans</li>
  <li>abort the threads still running (typically, my server polling thread) </li>
  <li>kindly call Application.Exit();</li>
  </ul>
  
  <p>This takes a few seconds to exit, and serves no real purpose (everything is already saved on the server, so I don't really care what happens there)</p>
  
  <p>If I use this instead, I got instant termination with no drawback I can think of :</p>
  
  <pre><code> System.Diagnostics.Process.GetCurrentProcess().Kill();
  </code></pre>
  
  <p>Why wouldn't I just terminate my process and let the CLR drop the AppDomain ?</p>
  
  <p>I know that carefully disposing your shared resources (IO file handlers, etc.) is important (so please don't answer that:)), but once it's done, is there a real reason to cleanly exit my App ?</p>