Потоки Python подвержены вмешательству из-за глобальной блокировки интерпретатора, и Gunicorn, скорее всего, обезьяны, исправляя поведение потоков по умолчанию. Таким образом, вы можете попробовать изменить его тип работника. Если ваш Gunicorn настроен на использование асинхронных рабочих с Gevent, то он может обезопасить ветку Thread, потому что Gevent может это сделать, заменив класс потока на «зеленый» поток, который сотрудничает.
Лично я ненавижу ответы "делай это по-другому", извините за то, что дал один. Не создавайте потоки или процессы ветвления внутри процесса вашего веб-сервера. Просто перенесите эту работу в фоновую очередь.
Создать собственную фоновую очередь легко, если у вас есть простые потребности. В вашей базе данных есть таблица, в которой регистрируются ожидающие и завершенные задания в сочетании со скриптом cron, который выполняется каждые 5 минут или около того и работает оттуда.
А если вам нужно что-то стабильное и способное масштабироваться, Сельдерей довольно хорошо.