I think it's something to do with the paging. If the thread goes over a new page between when you get the alert and when you visit, it will only mark the whole thread as read when you view the last page. So if you fail to view the whole thread when you return you won't get another email alert. That was certainly my problem with the thread anyway.