No.
Pausing a thread is not recommended in every environment in which I have ever worked. The main problem is that the thread can be suspended while holding the lock on some resource, which can lead to blocking. Any resources saved in terms of synchronization objects are not worth the risk of deadlock.
This is not a concern when a thread waits for a wait, because the thread inherently controls its own “pause” and can be sure to release any locks it holds.
If you read the SuspendThread documentation, you will see that it is intended for use by debuggers. Extract it from any application code if you can.
To illustrate my point, a list of “do not use” pendants I've come across:
Aside; I am very surprised that .NET Thread.Suspend was "supported" in version 1.0 / 1.1, this really should have been a warning from the very beginning.
source share