стоит ему зациклиться
И он выжирает все доступные ресурсы. Это возможно и это нормально.
или встретить sleep
А вот это не нормально, ибо Sleep одного потока должен наоборот переключать контекст.
Вообще, потоки отлично работают, можно из формы вызвать тяжелую операцию и при этом не вешать форму.
Скорее всего, вы делаете что-то не так.
Код был бы полезен, если конечно у вас не закрытый коммерческий проект.