Specifically, I'm getting Output: metadata not equal but comparable by value from someone/something that is apparently still alive.
I am only seeing this when I have both an lldplay and an lldpkg at the same time, and the lldpkg is destroyed after the lldplay`. Unsure if this is a coincidence or not.
But anyway: it's dangerous.Not only may I discard the Python/C# callback methods after lldplay_destroy() has returned, but actually I think the handle may be freed, so the pointer to the callback routine may have become invalid.
I think lldplay_destroy() should not return until it is sure there are no references to the callback still alive in some thread or other.