The bug only happens when I resize an item and make it smaller than the original size.

I created a small prog to reproduce it and while in the Qt code in the call stack I found a check for changedSignalIndex.
Googled for that, and came across this post

I had neglected to call
Qt Code:
  1. QGraphicsItem::prepareGeometryChange()
To copy to clipboard, switch view to plain text mode 
when changing the item's bounding rect.
Failing to call this results in a pointer to my object remaining in the BSP tree.

Thank goodness for opensource code! I don't think I would have discovered the necessity to call prepareGeometryChange by reading the docs.