Command note: a contact who says "stop" should stop everything, not the one message they happened to be standing in.
Most accounts have several outbound paths that were built at different times. A nurture workflow. A campaign. A review request. A rebooking reminder. A manual send from the inbox. The opt-out usually only unhooks one of them.
Where the leaks show up:
• DND set on SMS while email keeps sending
• A suppression tag that only one workflow actually checks
• A second workflow that re-adds the tag the first one just removed
• Manual sends from the conversations tab that ignore all of it
Do this today, on one account:
1) Set DND on a test contact across every channel, not just SMS.
2) List every workflow and campaign that can send that contact anything.
3) Confirm each one checks DND or your suppression tag before its send step.
4) Find the automation that can re-add the entry tag and close that loop.
5) Write the rule in the account notes so the next build inherits it.
The fix is boring on purpose: one suppression signal, honored everywhere, checked before every send. Not three tags that each mean "sort of stop."
A contact who has to ask twice is telling you the system does not listen. Build one door out, and make every path use it.