プロセスは OS によって強制終了され、割り当てられたすべてのメモリはとにかくリサイクルされるため、ユニットのファイナライズ セクションでオブジェクト/リソースを解放しなくても問題ありませんか?
例えば、
unit Threading;
interface
implementation
var threadpool: ThreadPool;
initialization
threadpool := ThreadPool.Create;
finalization
threadpool.Free; // is it OK to remove this?
end.