Hi Saram,
The reason you are stacking it on when you deviate is you have sent your body into starvation mode.
So whenever it gets real food it hoardes it because it doesn't know when it's going to be fed again - thats why when people go on crash diets they end up putting more weight on when they finish than what they lost in the first place.
Healthy eating and exercise is the only way to lose it - the more muscle mass you have the more calories you burn when your not doing anything ...
Hope this makes sense