I don't even know if I should post this here, but maybe someone can shed some light on this issue.
So in my game I have like 30 or 40 sprites, and each have an action. My game is steady at 60fps at the beginning, when I only have the base sprites, like 7, and when the user points with his finger and aims in the screen, the aiming animation is very smooth. I capture the movement in the ccTouchesMoved callback.
When I have from 20 to 30 sprites, my fps lowers to 25-30, the actions looks fine, and the game looks to run fine, with some hiccup, but what feels horrible is the movement of the aim, the animation is very slow, I touch and move the aim on the screen, and it just moves sloooow. But it is playable, and I can start killing the sprites, and when I am again with the base sprites, 7, everything gets smooth. My fps goes back to 60 again, and touching and moving the aim feels smooth. I have check for leaks, and apparently I don't have, my object allocations looks good, but what really looks bad is the CPU usage. Basically my game is using 100% of the CPU when I am experiencing the 25-30fps.
Here an image taking from the core animation template in Instruments.

Maybe I am not understanding the information here, but it appears as if 33.3% is used by the call to RunWebThread(void*). I have OpenFeint disabled, and have also disabled the actions, so basically the sprites are there but without animations, and I have the same issue. The sample always looks the same, with this call taking that percentage of usage.
Also, on the ccTouchesMoved callback, what I do is basically I calculate some values, nothing fancy, just checking some constraints, with the position I get from the callback, and reposition a sprite(the aim) using the setPosition message. I only have 2 layers, one is the hud, and the other one is the game, which contains all the spritesheets, and some sprites.
Any help will be appreciated. Thanks.