Your system may have 2GB of memory, but that does not mean that any application at any given time actually has 2GB of memory at it’s disposal. Remember, the RAM you have in the machine is for the entire machine: every running process requires some RAM. Say you have 20 processes running 20,000k; that’s 400MB of RAM actively being used, which means you only have around 1.6GB left of RAM to be used for everything else you run. Those numbers are not typical; I only used them for the sake of the example. My point is, Solidworks does not have 2GB to work with.
My second point is 512MB is probably a *minimum* requirement. As in, Solidworks will probably take more, much more…but will still run on a system with RAM as low as 512MB. Under 512MB, they can’t promise too much functionality or productivity. You’ll notice they never include the maximum amount of memory that a software will use (theoretically, it is potentially unlimited).
Hope this helps!