Most calls to Thread.Sleep in the codebase are abusive, and should be removed. Most of the time, the method itself Fubar() should be refactored as TryFubar() and return false if the operation could not succeed at this point of time, and leave the burden to the caller to retry later (if relevant).