The destructor function should contain all necessary stuffs to free up the memory object is occupying.
Since this object pointer is stored inside a vector, you should remove reference to it after destroying it. That is, erase that object* from the vector.