title: Do I need to Dispose() or Close() an EventWaitHandle?
body: <p>If I am using <code>EventWaitHandle</code> (or <code>AutoResetEvent</code>, <code>ManualResetEvent</code>) to synchronise between threads then do I need to call the <code>Close()</code> or <code>Dispose()</code> methods on that event handle when I am done with it?</p>
  
  <p><code>EventWaitHandle</code> inherits from <code>WaitHandle</code>, which implements <code>IDisposable</code>. And FxCop complains if I don't implement <code>IDisposable</code> on any class that contains an <code>EventWaitHandle</code>. So this suggests that I do need to call it.</p>
  
  <p>However none of these MSDN usage examples call <code>Dispose()</code> or <code>Close()</code>:</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/system.threading.eventwaithandle(VS.80).aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/system.threading.eventwaithandle(VS.80).aspx</a>
  <a href="http://msdn.microsoft.com/en-us/library/system.threading.manualresetevent(VS.80).aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/system.threading.manualresetevent(VS.80).aspx</a>
  <a href="http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(VS.80).aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(VS.80).aspx</a></p>
  
  <p>Is this just an example of Microsoft ignoring their own advice?</p>