Searching for "thread sleep resolution" brings up these related SO questions:
- Can I improve the resolution of Thread.Sleep?
- What is the impact of Thread.Sleep(1) in C#?
- Problems with using Thread.Sleep for short times
Consensus is that by default, Sleep() takes at least 15ms, unless you set the resolution using timeBegin/EndPeriod() as in this answer.