Why does Thread.Sleep Method (Int32) have a signed parameter for the duration of time? Can you go back in time with a negative value? Is this an undocumented method of undoing things?
Compare this (System.Threading.Thread.Sleep) with this (Win32 Sleep).
Usually INFINITE is set to the maximum value. For Win32 API this would be 2^32 -1, for .NET that would be 2^31-1. The .NET INFINITE is half of the Win32 API INFINITE.
Instead of maximum sleep time of 49.71 days you get only 24.85 days... :)