Added a trivial destructor in release mode and in debug mode a destructor that asserts RefCount is indeed zero.
This ensure people aren't manually (maybe accidentally) destroying these objects like in this contrived example.
{ std::unique_ptr<SomethingRefCounted> Object; holdIntrusiveOwnership(Object.get()); // Object Destructor called here will assert. }
You could probably commit this separately - no need for extra review, but it's separate/independent of the rest of this change, I think?