Sleep stops the main thread for a limited time.
Unlike DoEvents it will not deal with waiting messages during that time.
However, if other threads are running (some external libraries can use other threads as well) those threads will continue to run.