Все, что вы выделяете (или оставляете), вы также должны освободить.Для Cocos2D проще всего превратить его в объект автоматического выпуска, например:
CCParticleSun* p = [[CCParticleSun alloc]initWithTotalParticles:5000];
[p autorelease];
p.autoRemoveOnFinish = YES;
p.duration = 1;
Затем он будет выпущен после того, как Cocos2D очистит вашу сцену.
PS: 5000частицы это гигантское количество частиц!Не удивительно, что вы видите выделение размером в несколько мегабайт.Попробуйте выбрать 500 максимум, 100 или меньше, если вы используете текстуры частиц размером около 32x32 пикселей или более.