I have a problem with many valgrind warnings about possible memory leaks in std::string, like this one:
120 bytes in 4 blocks are possibly lost in loss recor
If I remember correctly, many STL allocators implement some kind of retention of memory. IE they do not release the memory allocated right away, but keep it around and reuse it. I certainly had many false positives in valgrind coming from memory allocated by my STL implementation.
The best way I have found to deal with the problem is (simply) to use the suppression file.