If the memory percentage free says that then I think there is a java flag somewhere that is telling java to use 512mb of ram. Unless you have actually allocated only 512mb of ram which sounds :eek: to me.
Take a look at the link below to make sure there is no variable in there...