When the reference count on an object reaches zero, Release causes the object to free itself. When the released pointer is the only existing reference to an object, the implementation frees the object.