Internet Direct (Indy) Version 9.0.2 Beta
Example 1
  if IsCurrentThread(AThread) then
    AThread.FreeOnTerminate := True
  else begin
    AThread.TerminateAndWaitFor;
    AThread.Free;
  end;