The generic function
com-object-destructor is called by the implementation of the class standard-i-unknown at the point where the last COM interface pointer is removed for the object, i.e. where the overall reference count becomes zero. After this, the object is known only to Lisp and is not involved in any COM operations and will be freed as normal by the garbage collector. The built-in primary method specializing on
standard-i-unknown does nothing. The build-in around method specializing on
standard-i-unknown frees the memory used by the COM interface pointers. Typically, after methods are defined to handle class-specific cleanups.
LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017