TAdvTreeView memory consumption

Ok, the memory requirement of the TAdvTreeViewNode is larger than that of the TAdvTreeViewVirtualNode. So I use the virtual variant now. Since no tree has been created yet, I need to use the AddVirtualNode method. Is it correct that I can use the DataXXX fields to store some information that I can use later for the GetNodeText event? - So far it works, but is it maybe a wrong use of these fields?

Another question: Why can't I return "0" nodes in the GetNumberOfNodes event? This will throw an exception. But there are no know nodes, when this event is fired the first time ... i think ... or brings this function the TreeView in virtual mode?

Regarding my upper issue with memory fragmentation: I think it was really a memory fragmentation issue because I wrote some log data to a TStringList when building the tree. The parallel filling of the TStringList was removed, the each other blocking of the "internal free memory function" was gone.