Oh goodness, I forget now what the reason was, but I promise I definitely had one!! I think it was because a forum is considered marked read when all the threads inside it have been read. Without this behavior, a forum would never show up as being read because it would take manually marking each and every individual thread inside it as read one at a time. I think that's the reason, at least. It's been a long time since I've thought about it :)
Do what I do (aways good advice, right?). Open the forum in one tab and when you want to read a thread, open it in another tab. When you are finished reading all the threads of interest, scroll down and click Mark Forum Read.