title: C# process lingers after all threads have terminated
body: <p>I have a multithreaded C# "console" application with lots of threads trhat finishes up.  All my threads exit.  90% of the time the application gracefully exits.  But 10% of the time a copy of my application lingers: console still open.</p>
  
  <p>I attach to this via Visual Studio 2010 and use break to interrupt it, and am shown two "empty" stack frames: one for Main and one for one of my application-created threads.  Neither has anything on the stack.  Visual Studio says that "source code is not available for the thread" if I click on either of these threads, and it offers a "dissambled code view" link.  I click on that and it says "disassembled code is not available for this thread".</p>
  
  <p>Any ideas what I might be doing wrong?  </p>