Hi Guys,
I had similar problems, and now have resolved, them.
firstly your balance of your memory is used by microsoft for file cacheing, etc.. I would not recommend running the mail server with less than 2Gb of ram, in my experience a mail server can carry on merilly until that one instance where it is bombed with mail and then you sit with problems.
Spamassasin on my machine was running up to 550Mb, until I started to look at why this was happening, one filter from rules emporium which I was using sa-blacklist.cf pushed my spam assain up by 240Mb alone. I reverted back all my rules to the standard SA4 rules, and then introduced the custom rules one at a time, until I found out what custom rules did what as far as memory usage was concerned. When spam assain loads it reads in all these rules into memory for the deamon to use, more rules with more checks = more memory. My spamd normally runs at around 250Mb all the time now since i did this.
Spamd is a multithreading process although it cannot run as such in windows, it spawns off 2 child processes additional, I did read up on the wiki for command line parameters to stop this, however If you run spamd manually with these parameters it runs at about 80Mb even with additional rules, but I did not find a solution to tell SM4 to load it with these parameters.
The number of threads is determined by options --max-children, --min-children, --max-spare and --min-spare. By default spamd.exe lunches one main thread and 1-2 spare child processes that are initially idle. If the mail load increases, spamd.exe may spawn more child processes. To save memory, you can disable all idle child processes by running spamd.exe with options --max-spare=0 --min-spare=0.