python 3, pyqt4, потоки через concurrent.futures, GUI через Qt

проблема такая: запускаю скажем 12 потоков, каждый делает свою работу - качает обычные веб-странички

если работы немного - все заканчивают работу нормально
но если сделать так, чтобы они скачивали больше страниц - не все потоки заканчивают свою работу

как будто чем больше работы - тем больше потоков зависает
соответственно счетчик активных потоков замирает на 1-2, в лог больше ничего не выводится - просто останавливается на любой задаче

сам ГУИ не виснет - работает нормально, но если закрыть приложение - оно подвисает и приходится завершать его через диспетчер задач


очевидно что они как-то зависают и у них не вызывается process_result
подскажите, куда хотя бы копать? мб у питона есть какие-то лимиты на память или время работы, которые надо увеличить?