I would imagine the money she's spending on dope is substantially more than the money she's spending on chocolate. Do you know who her dealer(s) are? Does she take your son when she goes to pick up her drugs? I'd also agree that there's every chance she's having the odd joint while you're out at work. It is far from uncommon for addicts to hide just how much they're consuming.
I see your point re the back door. Could she take a key out with her? Or could you not trust her to lock up when she comes back in? Could you just leave her out in the shed (visions of 8-Ace from Viz...)
The bottom line here is that we can all sit here and agree with you that, yes, she is absolutely in the wrong and her behaviour is appallingly selfish and fucked-up. That's drug addicts for you. She's just doing what addicts do. It's nothing personal against you. She's not doing this because of anything you've done. It's all down to her.
The thing is, though, all the time you're providing her with money to buy drugs, and dealing with all the stuff she's not dealing with because she's spending most of her time stoned, and accomodating the frankly ridiculous behaviour such as having to go and wake her from her stupor so she doesn't spend all night in the shed, you are making it easier for her to continue with her addictions.
You don't have a relationship with her in any meaningful sense of the word. Your son is being emotionally neglected by his stoner of a mother. He is also being shown all sorts of bad examples of how adult relationships work as well as getting the subtle message of "As a grown-up, it's ok to blow off all your responsibilities and spend hours in a shed on your own doing something mind-altering". He may not be able to articulate it but he'll know that when mum goes to the shed, she comes back different.
My ex is an alcoholic. I've been in a very similar position to you. If I can give you one piece of advice that made a real difference for me is to understand the truth behind the (horribly trite) statement Nothing changes if nothing changes. You carry on like this and this is what you're going to continue to get - a sham of a marriage to a woman who cares less about you than her next joint.
But you have it within your power to change things. You can't change her - she is doing what she wants to do. You have neither the power nor the moral right to insist that someone else changes their life to suit you. But you are doing things that you don't want to do. You are paying for, covering up for, and cleaning up after, your wife's drug addictions. You can change that. Talk to people in real life. Tell people what's really going on. Her drug addiction isn't a reflection on you. It is not your secret to keep. You need support, too.
I always recommend an excellent book when threads like this pop up - Melody Beattie's "Codependent No More". It's written for those of us who are in a relationship with someone with drink/drug problems. It talks about how trying to deal with those problems can lead us a very long way from our own health and happiness, and it gives you strategies for finding yourself again. I strongly recommend you get it. I also found one-to-one counselling invaluable.