That's typical of Linux distros. Whenever you have idle memory, the system will take it and use it towards others tasks to make them operate better. But if an application comes in requiring more than what's remaining, the system will take what it gave away and put it towards the process that needs it.
If you use the top command, it'll give you some more detailed stats. At the top, you'll see how much memory is currently being used and the amount in buffers and cache. DA doesn't add the amount in buffers and cache to the total, but realistically, you can add those two values to the amount of free memory and declare that how much ram is being "unused". That's what MRTG does.