The delphi help for TThread.OnTerminate staets that "The method assigned to the OnTerminate event is executed in the context of the main thread rather than the
TThread.OnTerminate