delphi - finaliza todos os threads (TThread) na aplicação de fechamento

Meu aplicativo é um servidor tcp / ip, com thread principal criado apenas uma vez e ouvindo o tempo todo. Quando um novo cliente se conecta, o thread principal cria o novo thread deTClientThread tipo. Entretanto, não há lista de encadeamentos do Cliente em execução, pois isso tornaria meu aplicativo um pouco complicado ... existe alguma maneira de executar o método "terminate" em todos os encadeamentos, mesmo se o encadeamento estiver ocupado (no meu caso "ocupado") significa que ele está esperando pelos dados, onde o tempo limite é cerca de 30 segundos ... então eu tenho que matar de qualquer maneira, sem esperar.)? O aplicativo de fechamento simples parece não executar o método "terminate" nos encadeamentos, o que acaba com vazamentos de memória relatados pelo FastMM ...

questionAnswers(3)

yourAnswerToTheQuestion