Do you have some numbers for these scenarios? For example, actual memory usage levels? Also, try loading each level individually, to find what the memory footprint is when you only load Level A, then again for Level B, then for the transition.
When you are in scene b, scene a is unloaded.
The crash happens because during the transition from a to b, there is a timeframe where both scenes are present (at least thats my interpretation of what happens and on the consequence of the solution I and many others long before me use)
I’ve created myself a nice little scene manager class with loading screen managing etc, that goes from scene a to scene 0 to scene b
scene 0 is my loader scene, it contains nothing else than the scene manager singleton instance that redirects by default to the menu screen.
that gives a nice startup time and as far as I see faster scene transition and less memory border hittings