Если вы находитесь в приложении WPF, в котором Dispatcher - это приложение, запускающее насосы сообщений во время управляемого ожидания, самый простой способ отключить насос сообщений во время ожидания - через Dispatcher.DisableProcessing :
// The Dispose() method is called at the end of the using statement.
// Calling Dispose on the DispatcherProcessingDisabled structure,
// which is returned from the call to DisableProcessing, will
// re-enable Dispatcher processing.
using (Dispatcher.CurrentDispatcher.DisableProcessing())
{
// Do work while the dispatcher processing is disabled.
Thread.Sleep(2000);
}