Interesting. The "Thank You" problem is definitely real. Solving it - I haven't come up with a decent approach.
One challenge I see for Op's solution is how do you constrain the matching. Most of our users have Signatures, so we can't say "Match Phrase Exactly", since most Thank Yous have signatures below. But then we can't say "Partial match" because many users say Thank You after reporting a problem.
We would want to match, say, the 1st line only. We would want to then include "Thank You" with and without period and exclamation, same for "Thanks". I would add "You're the best" and "You guys rock" (unless morale is low). Case Insensitive.
So actually this sounds good. Filter incoming email, if 1st line consists of only the following, do not reopen ticket. That should handle 9/10 of these well-meaning heathens.
Regarding the "don't allow reopen" option, that is an approach if we don't want users to reopen tickets. But I think we do want that (if the issue comes back in a couple of days, same issue, not a new ticket really). We just don't want it to happen if they say a list of words: Thanks, Thanks!, Thank You, Thank You! ...