Releases a tagged reference to an object, freeing it immediately if the reference count drops below the specified threshold.
Used for tracking collection references.
If decrementing the reference count makes it >=
free, the object is immediately freed.
Kernel extensions should not use this function. It is for use by OSCollection and subclasses to track inclusion in collections.
If the receiver has
free or fewer references after its reference count is decremented, it is immediately freed.
This version of
release can be used to break certain retain cycles in object graphs. In general, however, it should be avoided.