The reason the AdSense ads aren't especially relevant is because they aren't pulling from too much content on the forums. Because they are only on the thread listings and forum directory, the crawlers are just scanning a condensed list of threads (many of them unrelated to each other) and trying to find a common theme.
If the AdSense code was on each thread itself, I suspect the ads would be a lot more relevant to what's actually in the thread.
In other words, AdSense can't read a book by it's cover. It needs to read a chapter at a time, and can only summarize one chapter at a time.