Ничто не мешает вам использовать QWaitCondition в основном потоке. Если вы устанавливаете время ожидания на 10 мс, и оно проходит без разблокировки, вы, вероятно, не получите желаемых эффектов. По умолчанию стоит ждать бесконечно.
Однако использование условия ожидания в главном потоке приведет к тому, что GUI перестает отвечать на запросы во время ожидания. Это почти всегда нежелательно.