Hello Luckylady, sorry I don't have much experience with this, but didn't want your problem to go unnoticed.
I don't know if you are aware of ABA (applied behavioural analysis)? I think it could help you. I am new to ABA and there are many people here who know much more, so just bear with me while I try to explain. (And sorry if you are an expert on this subject!)
You need to analyse the behaviour in order to find out what is motivating your DS to do it and to try and change it. What is motivating him? As you say maybe he has picked up on your distress? If this is the case, then the more stressed you get the more you are reinforcing this behaviour.
They recommend that you keep data on the behaviour (what was happening for, during and after the behaviour), for example, after taking data you may notice that it happens always at the same time of the day, or after a specific event, so then you can be prepared to handle the situation.
Also, DS needs to link this behaviour with a negative experience in order to stop, for example, if he absolutely hates the smell of coffee, then make him smell coffee after he does this. For example: In our case DS was fascinated by the telephone, to stop him from taking it and putting it in his mouth, everytime he picked it up we would make him put it back 10 times (or as many times as it took until he did it without screaming and on his own).
In this way he realised that if he took the phone he would have to do ten times more work to put it back. After one day of this he stopped doing it.
Sorry for such a long post! I hope someone else comes along with ideas.
Big hugs to your DH, it broke my heart to think that he would be close to tears and I don't even know him.