How come my free ram keeps getting less and less? I have a Samsung gs3 gt 19300 running on cyanogen mod 10.2 stable version, so far it has been smooth other than the  ram problem (which I also encounter when using stock ROM) 

Whenever I restart, I often have around 300 + MB of free ram (after recent apps are all cleared)  however, a few days later, I find that my free ram drops to less than 100 MB (with all recent apps cleared as well) 

Well I checked the list of running services on the background and their sizes, but there were the almost the same compared to when the first day after restart, but if the running services are the same, how come the free ram drops that much? What is the problem? Is it memory leak by apps? What's the best way to handle it?
Do not worry about your RAM being full as in a Linux OS it is not a bad thing. The system tries to fill up your RAM as you open applications and whenever you open an App again it is loaded from the RAM which takes fewer resources then loading the App from scratch. Letting an App stay in RAM does not take a lot of resources and the system is smart enough to only keep the most frequently used Apps in RAM.

So unless you are experiencing severe performance issues you do not have to worry about the RAM being full.