Amazon RDS has a metric for 'freeable memory'. It appears to go up & down in a sawtooth pattern.
This leads me to believe that it's memory that is being used by MySQL for caching and that when the cache expires, more freeable memory appears. Any definitive documentation would be great.
It includes cached memory and memory used for buffers (besides what's really free/unused). They'll all be freed if an application requests more memory than what's free.
It is basically available RAM. See answer from AWS here https://forums.aws.amazon.com/thread.jspa?threadID=209720 and the official documentation is here http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html.
If you have a lot of freeable memory you can downgrade to a smaller instance. If you are running out of freeable memory, then it is time to upgrade.
From this Q&A on the AWS Forum:
FreeableMemory is the memory that's being consumed by OS cache, and it will be given back when needed and nothing to worry about.