Hi Tim,
I've seen this kind of error before when under some circumstances the task queue or indexing queue get funky.
I recommend delete all rows from mp_TaskQueue and mp_IndexingQueue tables.
I've added some extra handling to prevent this kind of error so I recommend upgrading to the latest mojoPortal release.
DW20.exe is the Dr Watson error reporting agent, which really MS should not enable on a server because it wants to popup a dialog to the user about sending this error report to Microsoft but since no user is logged in it can't. With some googling there are apparent ways to disable it but I never could manage to disable it on my server. But the additional error handling I added solved it for me so it doesn't ever cause Dr Watson to launch.
Its really a strange thing this Dr Watson is what eats up the cpu, its not really mojoPortal using it up but the error that happened launches this Dr Watson and then it eats up the cpu.
After upgrading and deleting those rows you may want to rebuild your search index which will write new rows but you won't get these errors.
Hope it helps,
Joe