Wenn ich bei ComThreadList.Delete(i) eine Haltepunkt setze, und alle im Einzelschritt durchgehe, dann lande ich in der
Unit "System.Classes" in der Funktion "TThread.destroy".
Das kommt aber wahrscheinlich durch den Aufruf von .Free (2 Zeilen drüber).
Das kommt eher daher, daß das Delete auch gleichzeitig die Instanz freigibt, die dann natürlich nicht mehr existiert. Lass doch mal das Free zwei Zeilen drüber weg.