What are you doing to unload assets from MainMenu that use the DeckBuilderAtlas? Simply using LoadLevelAsync has rarely seemed to work for me. I manually destroy a root
object in the loaded scene with DestroyImmediate(whateverObject, true); //true allows for destroying of assets
If you double click on the DeckBuilderAtlas, it should take you to the object referencing the atlas.
Beyond that, it looks like you have editor items referencing it, so your reference count is probably artificially high. Haven't seen that, before.
Also, try moving your Resources.UnloadUnusedAssets() into a coroutine that lives on an object that you don't destroy between loads. Then run it to have it kick off later.
IEnumerator DeferredUnload()
{
yield return new WaitForSeconds
(3); //or whatever works for you project
Resources.UnloadUnusedAssets();
System.GC.Collect(System.GC.MaxGeneration, System.GCCollectionMode.Optimized);
yield return null;
}
Additionally, not sure if you're using ARGB 32 bit for the atlas format, but you can save some memory/storage if you change to something DXT 5 (Windows).