ok auch das problem habe ich nun lösen können:
hab das FreeOnTerminate bei Execute verworfen und das ganze so und es funzt wie gewüscht
Delphi-Quellcode:
AufgabenThread := TAufgabenThread.Create;
AufgabenThread.FreeOnTerminate := False;
AufgabenThread.Resume;
AufgabenThread.WaitFor;
FreeAndNil(AufgabenThread);