もしかしてこうするだけでも違います?
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(name, mode);
while (!asyncLoad.isDone) yield return null;