Your app is probably receiving low memory warnings, they should be in the console logs. When Cocos2D receives memory warning it calls [[CCDirector sharedDirectod] purgeCache] which isn't very save.
You can remove this call in AppDelegate:
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
My previous apps crashed a lot on devices with multitasking, because Cocos2D was purging data even on loading scenes. Memory warnings on iOS are just useless. I think those calls should be only called when there's really no memory left, but they are called everytime iOS decides to kill backgrounded app.