'Server Sided Only' Parent of Instance is Still Able to be Referenced by Client?

I need help with this because I’m making a game, and I’m having a complete meltdown about avoiding memory leaks.

I have the server parent an Instance from workspace > ServerStorage and then ServerStorage > workspace repeatedly (infrequently). This Instance is also something that the client checks/waits for once it’s parented to workspace by the server.

The client still somehow knows that this Instance exists when it’s parented to ServerStorage by the server, and when it’s re-parented to workspace it’s the same exact Instance to the client’s knowledge.

Ofcourse, it shows the Instance’s parent as nil on the client when it’s in ServerStorage. But it still knows that it is what it is. How does it know this? How does it keep track? And PLEASE tell me if this is efficient enough client memory behavior (or whatever you call this) to trust that the client will always remember the Instance (as long as It’s not deleted obviously)?

Actually, since it seems really shaky anyways, I think I’ll just track the adding and removing from the client and just disconnect and clean based on whether it’s being added to workspace or not.

I don’t know why, but it seems like only when I post on DevForum I get a solution myself.