Kevin,
There are various coding methods and printing problems that cause this to happen. It is definitely not one specific thing. In fact I found one the other day with the help of Christof and having to do with the calling stack when using RemoveObject() method. You must make sure that the object you are wanting to remove is not within the current calling stack. I was RightClicking over an object and that launched a menu and that menu called a RemoveObject for the object I had clicked on and BOOM C..5!!
The fix was to get the object out of the calling stack by having a timer control with a 1ms delay and using it to launch the menu code. This apparantly is an issue though even in C++ when removing objects that were in the calling stack. Because after you go trouncing back up the calling stack it's gone and BOOM!