1. In a computer system having: memory means; means for allocating and deallocating objects comprising at least zero elements within said memory means; means for creating and deleting identifiers comprising pointers to objects within said memory means; means for retrieving an object given an identifier which points to said object; a null identifier; means for copying memory elements from one object to another object; and at least one process running in said computer system, a method for creating, reusing and destroying objects comprising the steps of: (A) adding to said computer system means for labelling an identifier with a subtype; and then (B) in response to requests by ones of said processes to create a first object of a given size: (i) searching said memory means for a first identifier which points to a smallest object at least as large as said given size, said first identifier being labelled with a first subtype; and then (ii) if said first identifier exists: (a) creating a second identifier which points to said smallest object; (b) deleting said first identifier by replacing it with said null identifier; (c) labelling said second identifier with a second subtype; and then (d) returning said second identifier to said requesting process; (iii) if said first identifier does not exist: (a) allocating a second object at least as large as said given size; (b) creating a third identifier which points to said second object; (c) labelling said third identifier with said second subtype; and then (d) returning said third identifier to said requesting process; (C) in response to requests by ones of said processes to create a reference copy of a first given object, said request comprising a fourth identifier which points to said first given object: (i) creating a fifth identifier equal to said fourth identifier, and then (ii) labelling said fifth identifier with a third subtype, and then; (iii) returning said fifth identifier to said requesting process; (D) in response to requests by ones of said processes to create a verbatim copy of a second given object, said request comprising a sixth identifier which points to said second given object: (i) requesting the creation of a third object at least as large as said second given object, and then; (ii) for each element in said second given object: copying said element into said third object; (iii) creating a seventh identifier which points to said third object; (iv) labelling said seventh identifier with said first subtype; and then (v) returning said seventh identifier to said requesting process; (E) in response to messages from ones of said processes indicating that a third given object will not be accessed again, said message comprising an eighth identifier which points to said third given object: (i) labelling said eighth identifier with said first subtype; and (F) in response to requests by ones of said processes to destroy a fourth given object, said request comprising a ninth identifier which points to said fourth given object: (i) if said ninth identifier is not said null identifier: (a) if said ninth identifier is labelled with said first subtype or said second subtype: deallocating said fourth given object; (b) deleting said ninth identifier.