No, peanut butter by itself is not fattening and one of my favorite foods. It does have some peanut oil in it which is a healthy oil and some protein. One tablespoon of peanut butter is comparable to the calorie content in one ounce of hard cheese (about 100 calories). Look at your peanut butter’s food label. It should only have peanuts and salt and will need to be stirred then refrigerated when you after you open the jar. Many peanut butter manufacturers add hydrogenated oils or partially hydrogenated oils to peanut butter to keep the peanut oil from separating out. Imagine your lovely peanut butter with just peanuts and salt to which a food manufacturer just added a big spoonful of white shortening.
As to why you gain weight when you eat peanut butter, I don’t know. One food by itself does not cause weight gain. (Unless you eat a lot of it.) Besides, how can you pinpoint the peanut butter as the cause? All the food you eat in a day must be considered as contributing to your weight.
Any food eaten to excess including meat, milk, eggs or grapefruit can be fattening. Your body burns calories constantly to keep all your body systems running. The amount of physical activity above that increases the number of calories you need. When you eat less than this amount, you lose weight and when you eat more, you gain. The calorie effect of the food adds up and the effect (weight loss or weight gain) does usually not show up immediately unless you grossly overeat.
So if you like peanut butter, I would suggest 1 tablespoon on bread or toast for breakfast or lunch as a substitute for an egg or a slice of meat. Change your food choices at meals from day to day to achieve a variety of food nutrients.