This isn't related to your floating dead soldiers, but could help with your performance..:
I noticed in the code from your other post that you are calling .new(self) each time the state changes. Are you re-using the states you already created or are you making a new state each time? Since your inner classes are inheriting from "Object", you are responsible for memory management.
Since the life expectancy of a solider is not very long, you may want to refactor your state machine to create all of the states up front and then switch between them as needed.
Something else you may want to consider is re-thinking the collision shapes of the dead soldiers. If you want the corpses to pile up vertically, then you may want to merge collision shapes so you don't have weird triangle on triangle things going on. It could be problematic for the soldiers to climb over those. If you don't want them to pile up vertically, then you could remove the dead collision shape and just put an area 2d. As live soldiers enter that area (walk over them), you could have the corpse start decomposing(mutilating from being stepped on) until it disappears. Then, you may not even need to make the corpses a physics body.