Erklären kann ich das auch nicht ohne genauer zu debuggen, aber es wird wohl daran liegen, dass das Formular so ein zweites Mal angezeigt wird und dabei evtl. irgendwelche Handles neu erzeugt werden. Dadurch zeigen dann die Knoten auf den falschen Zielknoten wie du beim Debuggen sehen kannst (einfach Maus über PointsNode halten, wenn du in der Zeile bist, in der die Punkte hinzugefügt werden).
Aufgrund solcher und anderer Probleme, insbesondere was die Langsamkeit und die fehlende Anpassbarkeit angeht, nutze ich auch ausschließlich die
Virtual Trees.
Nichtsdestotrotz ist es ohnehin keine gute Idee im Konstruktor mehr zu machen als Klassen zu erzeugen usw., so dass die funktionierende Lösung im Anhang ohnehin die sauberere Lösung ist. Und zwar einfach eine separate Methode zur Initialisierung benutzen.