Correct option is (d) Just before the end of object life
Easiest explanation - The destructor is called just before the object go out of scope or just before its life ends. This is done to ensure that all the resources reserved for the object are used and at last, are made free for others.