We generally take the path of least resistance. If a thread is short and has few replies, it can usually be fixed fairly easily and re-opened.
If a thread is long and the off-topic or against-community-guideline replies span pages of the thread, then it is far harder and more time-intensive to fix and so we usually can't fix it. The thread will remain closed or removed if that is the case.
It just depends on how problematic the thread is or has become. That's why it's always best to report a potentially problematic thread as soon as possible, because if we catch things early enough, we can often times save the thread itself.