Почти все программы содержат в себе бесконечный цикл, включая саму операционную систему и это как бы их нормальное поведение.
Другое дело, что если этот цикл не только бесконечный, но еще и пустой или не содержит операций ожидания (для передачи кванта времени другим процессам), то на современных многоядерных он просто займёт одно ядро процессора на 100%, ничего по сути при этом не делая и грея проц до определённой температуры, даже не максимальной. В старых одноядерных это приводило к тормозам всей системы, на современных это не так критично, но для коммерческих программ, если это не какой-нибудь майнер - такое поведение недопустимо, т.е. в цикле всегда должен быть какой-то sleep, хотя бы изредка.