title: C# Process.Start() failed to dispose thread resources
body: <p>The program’s code is like below:</p>
  
  <pre class="lang-cs prettyprint-override"><code>using System.Diagnostics;
  
  class Test
  {
      static void Main()
      {
          using (Process p = Process.Start("notepad.exe"))
          {
          }
      }
  }
  </code></pre>
  
  <p>The problem is when this program has been closed and the Notepad is still running, the Notepad will lock it. And I don't want to close the Notepad.<br>
  I tried to use Unlocker to detect the problem.<br>
  The result screen shot is like below:</p>
  
  <p><a href="http://archer-uf.stor.sinaapp.com/effcacf37a0ab674de6a69d77a18be46.png" rel="nofollow">Result Image Link</a></p>
  
  <p>So what I want is starting a exe file and dispose all thread resources immediately. Or I can't uninstall my program until all the program opened by it are closed. That may cause unpleasant user experience. Requiring system restart is also unpleasant. Unlocker can do it nicely. If I use Unlocker to unlock the parent folder, it won't close the Notepad, and then I can delete this program file normally.</p>