I have a couple of x86 routers running v3.17 with routing-test & mpls-test using 128MB of ram.
It has about 400 OSPFv2 routes, 140000 IPv4 BGP routes, no web-proxy. OSPFv3 IPv6 isn't running yet nor is BGP IPv6.
Here are a few items that can use up RAM:
Full IPv4 & IPv6 BGP routes will need a router with 512MB.
RouterOS with everything running, web-proxy, OSPF, RIP, BGP Full internet routes, IPv6, UserManager, Dude, Calea, hotspot, etc. should get close to 2GB under full usage.
If you want to have 4GB in a machine and run RouterOS, a solution would be to install Xen on Linux Dom0 and run RouterOS virtually with up to 2GB of RAM. You could also run Squid on that Linux with more than 2GB of ram and have RouterOS only use the normal 128-512MB of RAM inside the Xen virtual machine.
Mikrotik might have 4GB or atleast 3.5GB of ram enabled on RouterOS v4, since v2.9 could do 1GB and v3 can do 2GB. I would prefer them get SMP support stable before raising the RAM limit. And then the next step after 4GB would be getting 64-bit support for greater than 4GB of RAM, PAE could be one solution but 64-bit is less trouble.