I didn't want to read and run.
Your son is in crisis. You are in crisis. Your GP and SS must be the next two calls for both of you.
Is there somewhere he can go for the next 24-48 hours. Any one (Friend/family) that can take him for this time. This will give you some head space to arrange your next plan of action.
This is the first day of the rest of your life. You are doing this for yourself and your son. Take back control but in baby steps.
SS should work with you to keep your son in your home and to set certain (small) boundrys. If he engages and sticks to them then he can stay in your home.
HE needs to understand and believe staying in your home comes with certain conditions. (eg. he does not hurt you or anyone else and is home by 10pm). If he chooses not to stick to them then the alternative is in care until such time as he can stick to them.
Another condition can be that he engages with CAAMHS and SS. If he doesn't he can choose 'care' instead. Let Social Services explain to him what 'care' involves.
At the moment you are his 'safe person' - he can do what he wants to you /come and go as he pleases and you will still love him. This WILL stop today.
I suspect his behaviour is a symptom of his current state of mind (Dad seriously ill and not living at home - mum not coping) and is possibly causing this situation. If you are struggling too it will only inflame the situation from his perspective.
This maybe a long road but I doubt he got to this state overnight - he wont get back overnight but he CAN get back with your help. If you feel you have a tiny bit of control (with help from professional agencies) you can regain the balance.
He needs to understand that you are doing this to help him and not to punish him but you need help too.
This situation can change but as the adult you need to start the ball rolling and if that means he is out of the house for a few days (with social services on board) then so be it.
This CAN and WILL get better. (I've been there trust me!) One day at a time but it starts today. Please get help for both of your sakes.