I'm pretty sure that this is not an indication of a memory leak. The problem with memory leak is that the GC is not able to detect it. This is an intrinsic property of a memory leak - it is memory which is not used, but the GC cannot determine that the memory is not used. I'd say that if the GC could detect a memory leak, it could do something about it - either log the message much more prominently, or just reclaim the leaked memory outright.
If you're able to run your application for a long time without memory errors, you probably don't have a memory leak. You could have a memory leak which is constant in size (say, you keep a reference to a "big" object in a unused global variable somewhere), but since such memory leaks don't cause memory to run out, they are much less harmful that memory leaks which get bigger with time.
I agree with Martin and Winston. I also think that could be just some internal code in the JVM that printed that way for some undocumented reason (like, maybe it couldn't get the system call measures in that time)