Object persisting in scene after endObject is called
It emerges that the issue was that bge.logic.NextFrame() did not produce the next frame independently, but it required a manual incrementing of the simulation time. I have gotten rid of my problem by adding the following lines:

simulationTime += dT
bge.logic.setClockTime(simulationTime)


Hope this helps somebody.