title: Thread.Sleep() sleeps for longer
body: <p>I have a Winform which needs to wait for about 3 - 4 hours. I can't close and somehow reopen the App, as it does few things in background, while it waits. </p>
  
  <p>To achieve the wait - without causing trouble to the UI thread and for other reasons -, I have a BackgroundWorker to which I send how many milliseconds to wait and Call <code>Thread.Sleep(waitTime);</code> in its doWork event. In the <code>backGroundWorker_RunWorkerCompleted</code> event, I do what the program is supposed to do after the wait.</p>
  
  <p>This works fine on the development machine. i.e. the wait ends when it has to end. But on the Test machine, it keeps waiting for longer. It happened two times, first time it waited exactly 1 hour more than specified time and second time it waited more for about 2 Hours and 40 minutes.</p>
  
  <p>Could there be any obvious reason for this to happen or am I missing something?</p>
  
  <p>The dev machine is Win XP and Test machine is Win 7.</p>