That error must be coming from somewhere else. Which means you're using it. Else, you wouldn't have
*** -[__NSArrayM respondsToSelector:]: message sent to deallocated instance 0x7576c90
But something like :
*** -[__NSArrayM release]: message sent to deallocated instance 0x7576c90
Plus, you should not use retainCount (see why here).
Just check that you're not using it anywhere else. Or maybe you're using ARC ? In which case you don't need to release it.