OP, you need to sit down with him and go through the food shopping and make sure that all expenses come out of the joint account.
If you buy yourself treats then hide them , I have to do that with DD or she will eat everything. If I buy 99 cal crisps as a treat, or kitkats or whatever, I don't expect to go to the cupboard 2 days after delivery to find they are all gone, when they were supposed to last the week.
It is not weird to hide food , I know loads of people who do it, or their DC would just devour it like locusts.
It is sheer greed if somebody eats all of something, XH used to do it all the time and I had to call him on it, and point out that I would have liked some of it too, or that it was for a meal not a snack for him to eat all of between the meals.
You can't judge him though for being able to eat food that you can't , that is your choice, but if you are having calorie controlled snacks then you are entitled to put your share for the week away so that you can eat 1 a day.
We used to have a shelf for DD when she was younger, so all biscuits/snacks, juice etc for her were on that shelf and nobody else touched them.
Also, yes, definitely butter and jam. Everyone is different but a sandwich is bread, butter and filling in our house.