This has nothing to do with video memory.
The nodes in the scene graph can be referenced by multiple objects - e.g. the renderer, the logic class ...
We use reference counting for each node to track how many references are hold by other objects.
If you obtain a reference with GetReference() you must make sure that you also call RemoveReference() when you are finished. Thats all.
AddGraphNode() does not clear the graph node, it just collects the node and when the destructor is called, it calls RemoveReference() for each collected node. Its usually simply more convenient to use AddGraphNode() but it is not mandatory required.
The nodes in the scene graph can be referenced by multiple objects - e.g. the renderer, the logic class ...
We use reference counting for each node to track how many references are hold by other objects.
If you obtain a reference with GetReference() you must make sure that you also call RemoveReference() when you are finished. Thats all.
AddGraphNode() does not clear the graph node, it just collects the node and when the destructor is called, it calls RemoveReference() for each collected node. Its usually simply more convenient to use AddGraphNode() but it is not mandatory required.