Wenn du die Methode 'Terminate' aufrufst, wird eigentlich nur die Eigenschaft 'Terminated' auf True gesetzt. Der Thread selbst bestimmt, wann er fertig ist. Du kannst aber auf den Thread per 'WaitFor' warten, so etwa:
Delphi-Quellcode:
MyThread.Terminate;
MyThread.WaitFor;
MyThread.Free;