The error I'm getting is in:
vertexBuffer.SetData(firstNewParticle * stride, particles,
firstNewParticle,
firstFreeParticle - firstNewParticle,
stride, SetDataOptions.NoOverwrite);
And it says InvalidOperationException. You may not modify a resource that has been set on a device, or after its been using within a tiling bracket.
The only changes I made was that its no longer a drawable component, now I manually make the calls for initialize, load, update and draw. The other change I made is creating a class with a List of particle systems that takes care of those calls, as far as I can see neither of those should affect this.
Im pretty lsot as to what the error can be, hopefully someone can help me out.