title: What is the difference between Thread.Sleep(timeout) and ManualResetEvent.Wait(timeout)?
body: <p>Both Thread.Sleep(timeout) and resetEvent.Wait(timeout) cause execution to pause for at least <code>timeout</code> milliseconds, so is there a difference between them? I know that Thread.Sleep causes the thread to give up the remainder of its time slice, thus possibly resulting in a sleep that lasts far longer than asked for. Does the Wait(timeout) method of a ManualResetEvent object have the same problem?</p>
  
  <p><strong>Edit</strong>: I'm aware that a ManualResetEvent's main point is to be signaled from another thread - right now I'm only concerned with the case of an event's Wait method with a timeout specified, and no other callers setting the event. I want to know whether it's more reliable to awaken on-time than Thread.Sleep</p>