For every time you call "new" you MUST call "delete." As the comments have suggested, you point the pointer to 0, but never call delete.
Edited to add a YT video of a good explanation of the concepts: http://www.youtube.com/watch?v=_749lj2yb8Y Essentially you are never freeing the memory you request from the CPU, hence you memory leak. A simple call to delete will solve this.