I'm relatively new here, but I have been a mod on another board for many years. I try to PM anyone who is breaking the rules (aside from spammers, who just get banned) to make sure they understand the exact nature of the objection. Part of the reason for this is because they don't always understand why their thread just disappeared, or exactly where the line is.

And I also find that the response I get is a good indicator of the type of behavior I can expect in the future. 85% of people will be polite and will correct future behavior, 5% won't respond and won't be around for long, and 10% will be total jerks and will end up getting banned.

The important thing is that when reasoned with politely and with the rules on your side, most people will actually improve. And I do find that a PM is often more effective than a response in thread, where people are already argumentative. Of course, there are times when you need to make objections public. It just depends on whether you need to address everyone, or only a single trouble maker.