By almost universal consent across the Internet, serious and persistent off-topic posting is a violation of netiquette at the very least. It is also a breach of policy on this forum (as on many others).
While a given user may be taken by surprise on first learning that an original posting is OT, there usually isn't any real surprise. Additionally, the act of continuing to post and "keep alive" one's own OT thread becomes knowing OT behavior.
A single warning will be added to any user's profile for each of his or her threads that (1) is labelled off-topic and then (2) after a brief opportunity for them to wrap it up, they contribute to keeping it going.