Por que o .net Threadpool é usado apenas para tarefas de curto espaço de tempo?

Eu já li em muitos lugares que o .net Threadpool é destinado a tarefas de curto espaço de tempo (pode não ser superior a 3 segundos). Em todas essas menções, não encontrei uma razão concreta para que ela não deva ser usada.

Até algumas pessoas disseram que isso gera resultados desagradáveis se usarmos para tarefas de longa duração e também leva a impasses.

Alguém pode explicá-lo em inglês simples com motivos técnicos pelos quais não devemos usar o pool de threads para tarefas de longo período de tempo?

Para ser específico, eu gostaria de dar um cenário e gostaria de saber por que o ThreadPool não deve ser usado nesse cenário com motivos apropriados.

Cenário: Preciso processar alguns milhares de dados do usuário. Os dados de processamento do usuário são recuperados de um banco de dados local e, usando essas informações, eu preciso me conectar a uma API hospedada em outro local e a resposta da API será armazenada no banco de dados local após o processamento.

Se alguém puder me explicar as armadilhas nesse cenário, se eu usar o ThreadPool com o limite de threads de 20? O tempo de processamento de cada usuário pode variar de 3 segundos a 1 min (ou mais).

questionAnswers(3)

yourAnswerToTheQuestion