Unload Addressable assets
The Addressables system uses reference counting to check whether an asset is in use. This means that you must release every asset that you load or instantiate when you're finished with it. Refer to Memory Management for more information.
When you unload a scene, the AssetBundle it belongs to is unloaded. This unloads assets associated with the scene, including any GameObjects moved from the original scene to a different scene.
Unity automatically calls UnloadUnusedAssets when it loads a scene using the LoadSceneMode.Single mode. To prevent the scene and its assets from being unloaded, keep a reference to the scene load operation handle until you want to unload the scene manually. To do this, use ResourceManager.Acquire on the load operation handle.
Important
Conventional methods of preserving the assets such as Object.DontDestroyOnLoad or HideFlags.DontUnloadUnusedAsset don't work.
Individual Addressables and their operation handles that you load separately from the scene aren't released. You must call Addressables.Release to free these assets. The exception to this is that any Addressable assets that you instantiate using Addressables.InstantiateAsync with trackHandle set to true, the default, are automatically released.