Warum keine TObjectList<T> mit OwnsObjects=True? (das Freigeben "fRunningTasks[i].Free;" macht die dann selber)
Das Erstellen von Threads geschieht im selben Thread, wie dein Löschen?
Wenn nicht, warum gibt es hier dann keine Syncronisierung/Threadabsicherung?
Was macht du in deinen Threads?
Wenn die Threads intern nichts machen (leeres Execute usw.), gehen die
Handle dann auch noch hoch?