I'm afraid this is due to a (rather disturbing!) limitation of SICStus Prolog. This is what Mats Carlsson have to say about in the SICStus Prolog FAQ: "A generic limitation of SICStus Prolog is that it cannot use more than 256 Mb of virtual memory. Under Linux, the limit is 128 Mb. This is an artifact of the tagged pointer scheme that we use. We have plans for lifting this restriction, but it's a long term project."
Rumour has it that there is a way around this restriction: simply compile SICStus for a 64-bit machine.
Do your templates/rules condition on the actual words of your corpus? Then you could consider deleting some of clauses representing these words - the ones that occur less frequently than the score threshold, for example.
Or it may be that you are training with too many templates. Are you sure you need all of them? Use the print_unused_templates command to detect templates that are not being used at all, and remove them. Even templates that are not used contribute to slowness.