Wichtig ist auch zu beachten, dass die VTV keine Push- sondern eine Pull-Semantic verwendet. Die Daten für die Knoten werden also erst nach Bedarf abgerufen. Sie sind also nicht zwingend alle bereits verfügbar. Im vom OP beschriebenen Fall (1. Füllen der Tree-View) mag das der Falle sein, in der Regel aber eher nicht.
Mir ist bewusst, wie ein VTV/VST funktioniert. Nur wollte der TE die Daten im VST zwischenspeichern und dann später wieder verwenden. Also müsste er ja auch dann schon alle Daten haben, damit nichts verloren geht. Also kann er sich die Daten auch gleich in einer eigenen Klasse speichern und die Instanzen der Klasse werden dann von einer ObjectList verwaltet. Somit muss er sich auch um die Freigabe nicht mehr kümmern und kann auch das OnFreeNode Event ignorieren.
Aber mal schauen was er so draus macht. Eventuell hören wir ja noch was von ihm.