It happened to me once (through some 3rd party library), and before that I had no idea that PermGen leaks even exist...
I'm not sure if you can spot this memleak by only monitoring the heap space. The good news is that you can observe it in VisualVM when you watch the "classes" chart (loaded classes count, bottom left) and "PermGen" tab (top right, but you have to click the PermGen tab).