This is horrible - for your DS and his GF. It is really quite scary to be a young woman in a situation with an older male who you wouldn't want to upset or be rude to - who starts acting inappropriately. Especially at a time of great stress.
Between 16 and 19 this happened in a number of situations for me. It took quite a few years, confidence and some self esteem to not only fully identify these situations but be able to respond assertively and without apology.
It is horrible for you that he has again shown who he is, with someone vulnerable, at a vulnerable time for the family.
You can't protect everyone. Both your DS and his gf are young adults. You can only do what you can. but there is only one person in the above scenario (drug issues aside) who is responsible and that is your WH.