Internal Operation is null

I have been loading scenes using Addressables for a while but this error showed up recently, and nothing I do fixes it. It seems that the operation the SceneInstance references start becoming null out of the blue. It happens both in editor and in the built player.

This photo has the operation I’m talking about

Loading Code:

private IEnumerator LoadRoutine(bool activateOnLoad, LoadSceneMode mode) {
var operation = reference.LoadSceneAsync(mode, false);
yield return new WaitUntil(() => operation.PercentComplete >= 0.9f);

scene = operation.Result;

if (activateOnLoad) {
yield return ActivateRoutine();
}
}

private IEnumerator ActivateRoutine() {
yield return ScreenFader.FadeIn();

yield return scene.Value.ActivateAsync();
active = true;

yield return ScreenFader.FadeOut();
}

Stack Trace:

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.ResourceManagement.ResourceProviders.SceneInstance.ActivateAsync () (at Library/PackageCache/com.unity.addressables@1.19.18/Runtime/ResourceManager/ResourceProviders/ISceneProvider.cs:38)
AddressableScene+<ActivateRoutine>d__16.MoveNext () (at Assets/Scripts/AssetLoading/SceneLoaderEx.cs:83)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <ab7de6937a4448b0a6ccd59e9820599a>:0)

Turns out the handle that I was getting the result from was outdated when the operation finished.
Fixed by using the completed event in the operation.

I’m having this issue, can you post the solution?