Это не проблема. Это хорошо. Что еще будет делать основной поток? Он не должен обрабатывать долгосрочные задачи - это уменьшило бы «раздражительность» пользовательского интерфейса при появлении события пользовательского интерфейса.
Не должно быть замкнутых циклов до тех пор, пока не наступит событие - это потребует времени процессора, которое в противном случае могло бы быть разумно использовано другими приложениями.
Сон (или, скорее, ожидание) - это именно то, что вы хотите, чтобы он делал, поэтому он может проснуться, как только у него будет полезная работа, но в остальном не влияет на систему.