Deleted PhotonNetwork objects are appearing for subsequently joined clients

Options
Hi all,

In my game, the Master Client calls PhotonNetwork.InstantiateRoomObject() for all network objects to be spawned in the scene, aside from the players themselves. Reason being, I don't want the Master Client's departure to result in the removal of the objects for other clients, who still need to interact with them. This works well during the match, and when the round is over, I do a loop on all PhotonViews in the scene and delete them:
// Master client logic only
foreach (PhotonView pv in pvs)
 {        
          // Just to be safe  
          if (!pv.IsMine)
          {
              pv.TransferOwnership(PhotonNetwork.LocalPlayer.ActorNumber);
          }

          // Destroy it
          PhotonNetwork.Destroy(pv.gameObject);
     }
}

This works well for the host (MC) as well as all clients currently in the room. The issue, which is intermittent, arises when new clients join the room, at which point they occasionally still see the objects that were spawned via PhotonNetwork.InstantiateRoomObject(). While I understand those objects are intended to stay in context with the room and not any client, I expect the PhotonNetwork.Destroy() to have deleted it for subsequent clients. It's like the Destroy() never happened for them, but the PhotonNetwork.InstantiateRoomObject() still does. From my research so far, this seems to be due to the fact that the PhotonNetwork.Instantiate calls (of any variety), are considered buffered, yet the PhotonNetwork.Destroy() is not... Again, I would expect the Destroy to "cancel" the instantiate for subsequent clients, but this does not seem to be the case. Any and all help would be greatly appreciated on this issue as I've been trying to fix it in a variety of ways for a while without luck.

Thank you.