To fix the issue you can do It is just illiterate programming, simple as that. Same applies to calling any static method that way, it's not confined to Thread.sleep(). It imposes pointless space and time costs, but worse it betrays a major conceptual misunderstanding on the part of the programmer. I wouldn't devote much energy to going back and fixing all the occurrences but I would certainly do something about re-educating the personnel concerned.
Thread.Sleep() in C#: Does it sleep the thread the object was instantiated in, or the thread i am calling the method fro
With these it helps Thread.Sleep(..) blocks/sleeps the current thread: MSDN So if you would instantiate the object in the main thread but call the UseSkill() method which contains the Thread.Sleep(..) from thread A then thread A would be blocked or sleeping. If you however call the UseSkill() method from the constructor and you instantiate the object in the main thread, the main thread will be blocked/sleeped.
If Task.Delay is to be prefered over Thread.Sleep, why examples in this book use Thread.Sleep?