Это может произойти, только если ваша сцена не выпущена.Это означает, что да, вы как-то сохраняете это.Имейте в виду, что добавление объекта в NSArray или NSDictionary сохраняет его.
Установите точку останова в методе -(void) dealloc
каждой сцены или добавьте строку NSLog / CCLOG, чтобы убедиться, что сцена правильно освобождена.1004 *
Я догадываюсь из вашего кода, что вы на самом деле держитесь за объекты scene1 и scene2.Вы не должны этого делать.Вместо этого каждый раз, когда вы меняете его, создайте новый экземпляр класса сцены, например:
[[CCDirector sharedDirector] replacescene:[Scene2 node]];