Если альтернативой является использование ThreadPools, то вам следует использовать сопрограммы. Они созданы, чтобы сделать это проще. Кроме того, вы сэкономите немного памяти, так как будете делиться потоками с другими процессами.
Если вам нужен отдельный поток, который непрерывно работает в фоновом режиме. Тогда, возможно, поток - это путь, чтобы гарантировать, что его выполнение не прерывается ожидающей сопрограммой. Хотя эта проблема должна решаться изолированным однопоточным диспетчером (если он у вас есть).
Вы упоминали, что испытывали задержку? Было ли предотвращено это отставание, когда вы использовали пул потоков? Если это проблема, то запустите сопрограммы из другой сопрограммы. :)