Assets not unloading on scene change in Android (works on iOS)

So I’ve got a strange problem, I can’t seem to unload assets between scenes in my app. On iOS everything is fine, but on Droid the memory usage just keeps going up and the profiler shows that the NGUI atlases from each scene are all in memory at once.

I load new scenes through a loading screen scene (to ensure minimal assets are required) and there are numerous calls to Resources.UnloadUnusedAssets and GC.Collect between levels. None of my assets appears to ever unload however.

I’m trying to figure out why this happens only on Android. Any clues would be welcome.

On Droid it appears to be more sensitive to static references to objects than it does on iOS. I had some third party code that didn’t clear up static Singletons properly and that was causing a Droid issue.