Is Photon Instantiate called before LoadLevel?

Options
In my game players can join a room where they sit in a waiting area this occurs in the "menu" scene. When the master client presses the start button in the waiting area PhotonNetwork.LoadLevel("game") gets called. In the game scene there is a game object pre-placed there that has a script attached to it whose awake function calls PhotonNetwork.Instantiate(...) to instantiate the local player. If I start two fresh instances of my program, and go into a room and hit the start button on the master client everything works perfectly fine. However, if I then call PhotonNetwork.Disconnect() and then SceneManager.LoadSceneAsync("Menu"); inside OnDisconnectedFromPhoton() on both clients it will exit back to the menu as planned. But then if I try to make a room and do the same thing again, everything works up until when the master clicks the start button in the waiting area. When he does this he loads fine, but the non-master client doesn't load the master's player for some reason. I see the master's player appear on the non-master's screen for a split second before the game scene is loaded but then it disappears when the scene gets loaded. I also see a warning that says "Received OnSerialization for view ID 1001. We have no such PhotonView!". So my question is why does my program work the first time, but not the second time? Even when I am disconnecting from photon altogether? Also, when PhotonNetwork.LoadLevel is called, do all clients wait for other clients to load the level before their awake and start functions are called for that scene? By the way, PhotonNetwork.automaticallySyncScene = true this whole time.