The max heap you can configure on a 32bit jvm (what you are using) is 2g. the max work item thread count you can have there is 50. you should not configure a WIT count > 50.

instead of a single instance of the appserver (which i'm assuming you're running) you should create 1 CONFIG/NSH_PROXY and 2 JOB instances on your server. this will separate the java heap out so that the UI sessions should not be as affected by the compliance runs.

you should also enable the process spawner - having it running is not sufficient - you must run 'blasadmin -a set proc spawn true' and restart the appserver and spawner.