There is a game programming pattern that I think can be applied to your particle/explosion system. Put simply, you maintain a list of explosion classes allocated at startup, and when you want an explosion to occur you pick an unused explosion from the pool of classes and give it back when it's finished displaying.
This makes showing explosions fast and avoids memory fragmentation (which you want to avoid if you're writing for a console). You might not display explosions as often as particles as the pattern is intended for (well, depends on your game, Explosion Simulator II?) but it may be helpful.
Here is the article documenting the pattern, complete with example code, by Robert Nystrom:
Game Programming Patterns - Object Pool
I suggest you check his other work in progress articles too, they're great reads!