I don't use facebook, but couldn't that also be an optimization? Like don't send the user email notifications if they're already on the site where they can see the # of notifications?
But that's not what they're doing. I'll get mentioned in a comment while I'm on the site. I'll click over and read the comment and reply to it.
Then, once I'm away from the computer for 30-60 seconds or so (I'm sure they have a system training for this), I get the email notification -- even if the original back-and-forth occurred an hour ago. The timing of when I get the email has nothing at all to do with when the event occurred. It's completely dependent on my interaction with Facebook. Many times, it takes so long, I'm usually thinking "Wow! I wonder what else X had to say?" but I click over and it's the same damned thing I already interacted with.