SteamVR_LoadLevel() freezes when done loading in builds only

So I implemented a fairly straightforward method replacing Unity’s SceneManager.

public void LoadLevel(string levelName)
{
      //using async load in inspector
      GetComponent<SteamVR_LoadLevel>().levelName = levelName;
      GetComponent<SteamVR_LoadLevel>().Trigger();
}

I have also tried using accessing the method using SteamVR_LoadLevel.Begin()

Both approaches work fine in the editor, with the scene loading as soon as my progress bar has filled. In builds however, once the progress bar has completed - the scene’s audio plays but does not load. On the monitor, I can see a my frozen scene. After waiting about 3 minutes, I will finally get a response.

I placed a debugging console in the scene - and after waiting the extended amount of time for the scene to react, the console window only showed expected printouts (no NREs etc).

The Steam script destroys the game object once finished – this is fine. Loading the new scene does not depend on the GameObject the script is attached to.

Finally, it does not matter what scene I am loading or what scene I use as a starting point. I have tried with and without my custom loading logo.

Please help! Open to any and all ideas for debugging.

Was able to solve.

Commented out the GC and ShaderWarmups in their coroutine, and changed from

while(!async.done) {}

to

yield return new wait until(()=> async.done);