Ansonsten kann man das auch schön mit dem Visitor-Pattern lösen.
Wenn gleichzeitig ein anderer Thread die Liste durchläuft, während terminierende Threads sich daraus entfernen, kann es zu amüsanten Ergebnissen kommen

Das Destroy wird aber nicht mehr im ThreadKontext ausgeführt

Macht es denn einen Unterschied, in welchem Kontext das Destroy ausgeführt wird? Effektiv ist es eine Veränderung der Liste, während andere Threads auf diese zugreifen können, z.B. über die Elemente iterieren.