If you're using the resources directory (only put the sprite collection data object in there, not anything else), it should load/unload fine. Loading textures into memory isn't quick on iOS though, so if you need to stream this in quickly, it might not work for you. There will be a rather huge spike when the texture is first visible/displayed on screen - this is likely to correspond to when your animation starts to play.
For animations, you don't even need to mess about with the sprite collections, etc. Just create a second SpriteAnimation object with the appropriate frames in there, put THIS into the resources directory, and then load this in at runtime using Resources.Load. For unloading the asset you can use Resources.UnloadAsset to specifically unload the specific animation/texture/etc. Make sure you kill all references to it after unloading though. Resources.UnloadUNusedAssets will unload all unused assets and if you've removed all references by then, it should unload everything. Again though, GC will likely trigger here and spike again.
The alternatives are lower resolution textures / compression (dithered 16bit may work) / less frames, etc, but I'm sure you've thought of these already.