it is correct... in very basic words -- for new data memory is taken from free memory pool and unused data are not removed from memory until no free memory available.. just because old data may be needed later and can be quickly accessed in this case.. it's behavior of the real server system so that you'll see that 99% of memory is filled bit-by-bit either earlier or later on any server...
if you worry about memory leaks or suppose that there are not enough memory for running applications -- keep an eye on swap usage progress instead..