Note that the cost of the GC does not automatically depends on the size of RAM. In many networking servers, memory is filled with strings, caching files on disk or content to be sent on the network. Such cases make OCaml GC happy, since it does not have to manipulate many objects, and it won't scan strings for pointers within them. There are also other tricks to improve the GC behavior: you might want to change the data representation to decrease the number of blocks in the heap, I used to do it a lot when doing computations on millions of entries that would not otherwise stay in memory.
--Fabrice