Deshalb ist es auch kein Problem eine Klasse dafür zu verwenden. Das was dann nämlich in NodeData gespeichert wird, ist nur eine Referenz auf die Klasseninstanz. Und die ist (wenn ich mich richtig erinnere) immer 4 Byte (
Win32) und 8 Byte (Win64) groß (was nebenbei bemerkt schon der Standardwert der NodeDataSize Property bei
Win32 ist).
Daran habe ich mich ja auch gar nicht gestört sondern an der Art und Weise wie das hier konkret umgesetzt wurde. Ich denke, da werden im Grunde Memleaks produziert. Denn besagter Zeiger muss ja auch irgendwo hin zeigen. Hier sah es so aus als wäre das zunächst ein Zeiger auf einen Zeiger (also 2x4 bzw. 2x8 Byte) und würde dann durch einen Zeiger auf eine Klasseninstanz überschrieben.