protein sources we usually eat are red meat and chicken, which both are very high in calories and if you eat them at a restaurant or fast food joint, high in added oils and condiments
turkey and fish are less calories but are rarely eaten. plus i wouldn't eat fish from anywhere unless i know where it came from with all the food born illnesses.
anyway my point is if you eat a steak you are getting in 1000 calories, add in the mash potatoes, steak sauce you are closer to 1500 calories.. that is why you gain weight eating your protein sources IMO
so simply switch to more turkey and fish and cut down your red meat and chicken intake. fried chicken, 4oz you are looking at near 500 calories!
those KFC buckets you can imagine how many calories are in that shit, now you know why everyone who goes there has a gut.. those places are clever, if you look up the calorie content of their foods they list them in grams and not ounces. so it doesn't look as bad but in reality if you have lets say 3 chicken breasts (not hard to eat in 1 setting) you are easily going to be over 1200 calories. so no wonder you are gaining weight