To be honest, very less people's using self moderated thread to prevent spam. Most of use self moderated thread for manipulation. On the other hand, one of main scammy activity is, "sell on lock thread". Those users try to sell by locked thread that means there is something wrong, and personally I believe that kind of behaviour is one of symptom of scam.
I proposed not very long ago that a good solution would be to not allow someone to actively try to sell or buy publicly when their thread is locked.
Do not create locked topics requesting PM's or communication via other platforms.
I cannot think of a legitimate reason why someone would do this.
If you will not be active on the forum to check your thread very often, you can provide alternative contact methods and a note on your OP that you may not quickly see any replies.
I have seen many people who are transparently scamming do exactly this, sometimes with fake reviews. The warning shown on OPs who have negative trust shown to guests is a step in the right direction, but I think it should be a rule that
active sales threads that are locked are not allowed. This should not prevent locking a thread while a sale is "paused", "on hold", or "temporarily out of inventory".
Maybe a good solution would be in order to lock a thread, the OP must select a choice of if his transaction is "finished" or if he "intends to resume the transaction at a later time". An "automod" message (similar to what is used on Reddit) could be prominently displayed.
Someone could obviously still sell via PM, but they would be advertising that their trades are finished or on hold.