Linux uses free memory as cache so you can't just look at memory free and determine the available memory for applications.