For what I've learned, apparently the creation of the node goes into the undo queue, and this queue has a limited length. Once the node reaches the other end of the queue, its destructor is called and any dynamically memory allocated is therefore deallocated, making the node is unusable. If memory has been allocated using Maya's own method (MDataBlocks) then this memory is still accessible. The memory is only deleted when the node itself reaches the end of its lifetime, and this is handled by Maya. I'm not quite sure if this is it (I haven't quite got it completely clear in my head). In any case, the crash in Linux occurs as soon as the program returns from the first call to the node to compute its results, so I'm not convinced that undo queue even comes into it. I hope there isn't something deeper and more subtle going on.