Originally Posted by anglergab
It is not particularly wise to draw far-reaching conclusions from the size of free RAM, in particular on Linux based systems.
Some used RAM can be anytime freed if necessary (cached/buffered/shared), otherwise it will enhance the general responsiveness of the system.
That said, if you're looking at the memory display in "Running processes" in the Android settings, memory used for file cache or by cached background processes counts as "free".
In my experience, ICS does tend to use more memory than Gingerbread, but not so much so that it's a problem. I do run with 64 MB swap, which makes no appreciable difference to speed either way, but reduces the number of launcher restarts.