cocos2d using gobs of memory-Collection of common programming errors

I’m having the absolute worst time with running out of memory in my game with cocos2d.

I have 4 scenes. two vanish from memory when I switch scenes using

[[CCDirector sharedDirector]replaceScene:sceneWithTransition]

I’ve tried push/pop and it makes the problem about 10x worse.

2 of the scenes however are like a virus. The conditions under which I can remove them from memory do not exist. I am using the ARC alterations. I was hoping they would help, they did not.

I’ve overridden the cleanup method to make sure I get rid of references to everything in the scenes. The first one is the game play scene, and I can imagine how it might be possible that I’ve missed something that is somehow holding on to the scene. However the other one is the settings scene. It has 5 parts. they all get tossed and yet the scene will not purge. before converting to ARC the app was unusable it crashed so often and when it wasn’t crashing it was running out of memory. After ARC it lasts about 4x longer than before but still runs out of memory regularly. Crashes however are almost non-existant.

I suppose first off, what is the correct way to switch between scenes? Second, how does one remove something from memory when using arch because object = nil does nothing. All of my other programs using ARC run like dreams. None of them use the cocos2d engine. I’d not seen a memory error since the introduction of arc until I made the mistake of converting my quartz2d game in to cocos2d. The only reason I don’t o back to a platform that actually functions is that I really like the effects possible in cocos that I simply cannot make work in quartz.