You don't want free memory. Free memory is bad. It means your computer is wasting it and wasting your money.
You want all that extra memory to be filled with cached filesystem data, and other nice things. (which it is)
As for you inquiring about a memory leak...
A memory leak is one of the worst programming errors one can make.
Memory leaks when severe crash threads, potentially processes, rarely but sometimes (in the case of a kernel driver or similar) crash the operating system.
You shouldn't use the term memory leak, unless you know what it really is.
A memory leak is when a program doesn't properly release memory that it has allocated, after it has finished using it.
This is what a memory leak looks like in task manager.
The leak shown above.
int *ptr = (int *) malloc(sizeof(int));