Consider giving up on passing game object by reference, and jump to serilization to store changes to the game object. Killed a lot of time with very little useful progress