I have a level that I have been testing, and when I reset the scene, it gets very slow with I collide with stuff. What I found was that it was my static triangleMeshObjects causing the problem. So I added "physObj.PhysicsSkin.RemoveAllPrimitives();" in the resetScene() function and the fixed it. Let me know if this is a good idea. It fixes my problem, but I dont know if this is the correct way to handle it.
I added that code at:
foreach (PhysicObject physObj in toBeRemoved)
Without it, my level runs really slow when colliding with objects after resetting the scene a couple times.