Explicit destructor call is intended for questions related to programmatic deallocation of memory.
An explicit destructor call may be necessary in the following scenarios:
In languages with multiple inheritance, implicit deallocation may fail in multiple-inheritance situations where the type information does not correspond to the underlying type of the actual object.
In languages with manual memory management, to perform cleanup of data placed at a specific address in memory
References