I have the same problem. I use a VirtualTreeView, and after I edit a value, the component isn't destroyed. It shows status "Destroying", it closes the thread, if used, but it isn't actually removed. Calling "Free" makes no difference.
Except... It only happens in debug mode. And why would I care? Windows will remove all the memory used on program exit anyway.
So, it crashes when debugging. And I spend hours trying to fix it, without success. I just have to remember to run it without debugging before distributing it.