I had the same problem -- spamassassin is a memory hog and was making my linode swap until it ran out of tokens.
I instead hosted spamassassin on my home linux machine and had the mail relay to it then back to the main server. If the home machine isn't available then the mail bypasses spam checking and goes directly to the inbox.
I use 'balance' to handle the automatic failover. Since the home machine is on a dynamic IP, it uses autossh to connect to the mail machine and open a remote-forwarding port. That secures the mail in transit and if the IP changes then autossh reconnects and reopens the port, so all 'balance' has to do is pick between two local ports when sending the mail.
This allows me to host a reliable mail service on my Linode and host the memory and computationally expensive portions on a non-hosted machine that may not have the same reliability. My home machines runs dspam / amavis / clamav / dcc checks on all the incoming mail, so most of the time my mail is very thoroughly checked for spam or viruses.
I haven't heard of a spamassassin hosting service, but I see one at
http://wiki.apache.org/spamassassin/Spa ... ngServices that charges $50/month.