In Object Oriented Design, you'll find that there's a piece of code you can add to your classes called the destructor method ... which you don't usually call explicitly in your code.
When a variable goes "out of scope" and is no longer available to your code , it is
marked for destruction so that any cleanups can be done, and the memory reused.

An object can also be released / marked for destruction by an action as simple as an assignment of a different value to the same name - in this example, [PHP],
$a=1; might render a big old object no longer available to your code.
You'll notice that I've said that objects are MARKED FOR destruction, rather than actually being destroyed, when no longer accessible. The actual destruction is likely to be done some time later - in bulk when the application needs to get the memory back, or is about to exit (each remaining object's destructor is always run just before the program exits). Irritating though it is that the destructors don't run straight off, it's also a huge efficiency gain for them to be run in bulk / blocks.
(written 2009-05-11, updated 2009-05-12)
Associated topics are indexed under
Q906 - Object Orientation and General technical topics - Object Orientation: Individual Objects [3436] Moving from scripting to Object Orientation in Python - (2011-09-13)
[2651] Calculation within objects - early, last minute, or cached? - (2010-02-26)
[2393] A first demonstration of OO, including polymorphism - (2009-09-04)
[2173] Basic OO principles - (2009-05-11)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[1864] Object Oriented Perl - First Steps - (2008-11-01)
[1543] Learning Object Oriented Principles (and perhaps Java) - (2008-02-17)
[507] Introduction to Object Oriented Programming - (2005-11-27)
[227] Bellringing and Programming and Objects and Perl - (2005-02-25)
H108 - Objects in PHP [3609] How do classes relate to each other? Associated Classes - (2012-02-12)
[3608] Design Patterns - what are they? Why use them? - (2012-02-12)
[3607] Designing your application - using UML techniques - (2012-02-11)
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion - (2011-03-24)
[3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON - (2011-03-22)
[3142] Private and Public - and things between - (2011-01-22)
[2922] Getting the OO design write - with PHP a example - (2010-08-14)
[2921] Does copying a variable duplicate the contents? - (2010-08-14)
[2774] PHP - Object Oriented Design in use - (2010-05-21)
[2741] What is a factory? - (2010-04-26)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2680] Static class members in PHP - a documented example - (2010-03-16)
[2641] Object Oriented Programming in PHP - (2010-02-19)
[2632] Shipping a test harness with your class in PHP - (2010-02-12)
[2435] Serialization - storing and reloading objects - (2009-10-04)
[2434] Abstract classes, Interfaces, PHP and Java - (2009-10-03)
[2380] Object Oriented programming - a practical design example - (2009-08-27)
[2172] PHP4 v PHP5 - Object Model Difference - (2009-05-11)
[2169] When should I use OO techniques? - (2009-05-11)
[2160] PHP - getclass v instanceof - (2009-05-07)
[1820] Sorting objects in PHP - (2008-10-04)
[1819] Calling base class constructors - (2008-10-03)
[1682] Accounts in PHP - an OO demo - (2008-06-19)
[1535] OO PHP demonstration - comparing objects and more - (2008-02-08)
[1217] What are factory and singleton classes? - (2007-06-04)
[1153] Object Oriented Model - a summary of changes from PHP4 to PHP5 - (2007-04-18)
[1027] Cue the music, I'm happy. - (2007-01-09)
[836] Build on what you already have with OO - (2006-08-17)
[720] Planning a hotel refurb - an example of a Gant chart in PHP - (2006-05-14)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[485] North, Norther and Northest - PHP 5 Objects - (2005-11-04)
[421] Don't repeat code - use loops or functions - (2005-08-21)
[343] Should I use structured or object oriented? - (2005-06-10)
[205] PHP5 lets you say no - (2005-02-07)
[124] PHP v Java - (2004-11-20)
[67] Object Oriented Programming in PHP - (2004-09-29)
Some other Articles
Melksham in picturesApplication design in PHP - multiple step processesCleaning up redundant objectsDesigning a heirarcy of classes - getting inheritance rightIn honour of the photograph, I present ... a walk from Reybridge to LacockWatching the teleCrossrefering documents with uniqueness and inconsistency issues - PHP proof of concept demo