Hi @RneCGI,
welcome to the forum and the Cinema 4D community. It is unfortunately not possible to answer your question clearly since you left out the relevant main execution method(s) of your implementation (e.g., ObjectData.GetVirtualObjects, etc.).
But you are invoking ObjectData.SetOptimizeCache(True) in your RAARCGEN.__init__() which will tell Cinema to optimize the cache of an object by only invoking the building of the cache when the data container of the node is dirty, i.e., when the user changed a parameter. Leaving out this call or passing False in it will cause Cinema 4D to more frequently try to update the cache the node, or in other words call ObjectData.GetVirtualObjects, .GetContour(), .ModifyObject() or .ModifyParticles() more frequently, depending on the flags with which you registered your plugin. You can read more about cache optimization here.
In your RAARCGEN.Message() you have also the expression doc = c4d.documents.GetActiveDocument(), which you should not do, since there is no guarantee that the active document is the document your node is located in, because documents also are executed when they are not the active document (in rendering a document is being cloned for example). So you should use GeListNode.GetDocument() instead - like so doc = node.GetDocument().
Last but not least it seems a bit odd to me that you are using an ObjectData implementation to replicate a tiling camera setup. This should more be the job of a TagData solution. If you are planning on returning a camera object as part of the cache of your node data implementation, I would advise against it. This could technically be done, but it would break with Cinema's design as it would seal of setting that camera as the render camera as something that can only be done by your implementation.
Which brings us back to the point that your example does not show or indicate your core logic, which makes it hard to give here good advice. So, if my answer did not bring any clarification for you, I would ask you to provide either a more extensive example or send it to sdk_support(at)maxon.net, in case you are not at liberty to share all of your code.
Cheers,
Ferdinand