Oct 1998 - Herb Sutter
This three part article discusses reference counted strings, how they are implemented and what advantages/disadvantages they have. The last part is especially surprising where the performances of various implementations are compared.
Overloading new in C++
May, 1998 - Ian Kaplan
This article shows how to overload the new operator to make a pooled memory manager.
Smart Pointers to boost your code
Sep, 2004 - peterchen
A very good article that explains the different smart pointers available in the boost library.
Inside Memory Management
Nov, 2004 - Jonathan Bartlett
This article explains various types of memory management, including reference counting, pooled memory, and garbage collection.
This memory manager is excellent for finding memory leaks or deletion of invalid pointers.
The source code is free for both commercial and non-commercial use.
A garbage collector for C and C++
This library shows how a conservative garbage collector can be implemented for C and C++. The web page also has a lot of links to papers on garbage collectors.
A Memory Allocator
2009 - Doug Lee
A public domain memory allocator for C++ programs, that can potentially improve the performance of your applications if it uses a lot of memory allocations.