title: Unhandled IOException in PerformIOCompletionCallback
body: <p>While stopping a process I caught the following exception with the <code>AppDomain.UnhandledException</code> event. Latest .NET 4.0 on Windows 7.</p>
  
  <pre><code>IsTerminating flag:True
  Unhandled exception: System.IO.IOException: The handle is invalid
  
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.Threading.EventWaitHandle.Set()
     at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
     at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
     at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
  </code></pre>
  
  <p>Anyone know what causes this?</p>