Are you running the most recent versions of the clean-up query? Once upon a time a bug in that caused the notifications table to grow in unbounded fashion ...
I went through these queries with a fine-toothed comb a few months ago and I believe the outer join is necessary, though I don't remember why off the top of my head.