Thank you for your speedy and lengthy reply !!!!
I think I am getting a better understanding of things now.
I was assuming that since shapes are created with a body, that the body 'owned' them, and would free them when it was destroyed. Which is not the case. I did not realize you could create a shape with a NULL body object ( which you can then add the shape to space, and it would be a static shape since it has not body to interact with gravity, forces, etc )
So, whatever I add to space ( be it bodies, shapes, etc ), I must also remove, and destroy. And, of course, it is fatal to remove a body and destroy it without first removing and destroying its shapes ( since the shapes will be referencing the body still ).
So, to destroy a remove and destroy a body, it is probably best procedure to iterate over its shapes, and remove/destroy them first, and then destroy the body.
Also, shapes cannot be shared ( a shape cannot be belong to more than 1 body ).
Thanks for the information.