1) When the object goes out of scope (as Shabbir mentioned). 2) When you deliberately try to destroy an object to release the memory.