Though I agree that a "thank you" is somehow not constructive to the thread flow, I don't believe it's off topic per se. A comment like that might not add value to the question/answer in the sense of a technical insight, but it makes the exchange more "human" to my eyes.
We have several users who are always eager to learn techniques, procedures, or are moved solely by the inner curiosity of how stuff works. On the other side, there are questions that clearly reflect the struggle of some users in making the damn code work. Most of them, like me, are far from being TeXperts, so any kind of answer - from an elegant one to the one brought directly from the bowels of TeX itself - that effectively solves the issue, is a big reason to be happy. For instance, we can see this through one of our users' eyes, when replying to egreg's answer:
That's freaking genius! Never thought of that! Thanks!
IMHO, I think "thank you" messages are harmless. I also see them as a way of saying to the answerer, "thanks for your effort in helping me". We can argue that this is a Q&A site, straight to the point. But I also see our users answering questions because they are willing to share knowledge. And for that noble cause, I say "thank you" to all of them, even at the risk of sounding non constructive.
Of course, we could encourage upvoting or/and accepting answers instead of adding a plus "thank you". TBH, I prefer the verbose option. OK, we have the duty of keeping our threads "clean" - that might sound like getting rid of such "thank you" messages - but I believe we represent a community-driven Q&A that is technical, concise and - most of all - friendly to our fellow users. ;-)
My two cents. :-)