I find the current way of handling threads that are against the rules to be really confusing and counterintuitive. Right now, if someone posts a thread that gets deleted, nobody else really knows what it was deleted for, or might not even realize it was deleted and then go insane searching everywhere for it (me on several occasions
I think it would make a lot more sense to just lock the thread (with the final post by a mod saying why it was locked). Or else, if you positively can't have it on the forum, either have it replaced by a note that says "a thread was deleted for [reason]" (if forum software allows) or just deleting all the posts and editing the OP/title to state the reason.
That way it would actually help people follow the rules because it would be much more obvious how they are applied. And you wouldn't get people starting threads just to ask why their thread was deleted.