Eine Anwendung erstellt munter Dateien in TPath.GetTempPath()
(%userprofile%\AppData\Local\Temp). Bislang ist anscheinend jeder davon ausgegangen dass Windows diese Dateien irgendwann wohl von alleine löschen wird.
Woher soll Windows wissen, ob die Dateien noch gebraucht werden?
Du weißt doch welche Dateien du erstellt hast. Lösche sie beim Beenden deines Programms. Fertig. Nix mit offenen Handles suchen oder so.