1) Построить GUI + логику (ни одного отдельного потока! только основной).
2) Оптимизация+рефакторинг+отладка не обращая внимания на задержки интерфейса.
3) Шаг за шагом распараллеливаем необходимые этапы программы, каждый этап отлаживаем.
Если же проект старый, с кучей потоков и постоянно сыпятся варнинги, берём и убираем все потоки, и начинаем со 2 пункта

С тех пор проблем с потоками у меня не было
