Destroys the user defined data.
This function is called from the destruct to deallocate the user defined data. Override it in the derived class if you need special processing for user defined data deallocation.