Do remember that the size of the swap is determined by several factors, not all of which have to do with the amount of RAM allocated:
1. Amount of Kernel Memory in-use and reserved for the kernel.
2. Amount of memory reserved by processes, but not actually allocated for use yet
3. Amount of video RAM (including any main memory RAM allocated for graphics purposes)
4. All sorts of Deep Magic stuff related to the exact pattern of memory allocation, release, and lifetime.
Particularly in modern systems, #2 tends to be the big culprit, since many, many applications will decide they want to "reserve" vast quantities of memory, but seldom actually allocate it for use. Reserved memory has to set aside in the Virtual Memory space, and swap is generally where modern kernels will put this memory reservation, since it's just a "marker" and not actually doing anything other than taking up address space.
Here's an example:
4GB RAM, 8GB Swap means you have 12GB of Virtual Memory Address Space available.
Now, along comes App X, and it tells the system it wants to reserve 6GB of Address Space. It then immediately allocates 1GB. So, what does the kernel do? It puts the 1GB of allocated space into RAM, and then marks 5GB of the 8GB swap as "reserved" for App X. If App X wants more than 1GB in the future, the kernel will reduce the reservation amount in swap, and allocate from RAM.