I don't want you to get angry with me and of course I don't know your MIL so this is just my take on what I've read. Why was it a big deal that your MIL wanted to hold the baby? She's his Grandma.
I think in order to have a healthy relationship sometimes we need to think of what's irritating you about the person and ask yourself, Is this something I should be angry about or is this something that isn't a huge deal? Again I'm just going by what I read, I'm not there so this is a very distant observation.
I was a bit older when I had my kids, 35 when I had my Son, 36 when I had my Daughter. My in law's weren't young. But they never stopped over and when we wanted them to see the kid's we'd have to bring all of our stuff there. They loved the kid's but I could tell when it was time to leave. I thank God my Mom was around as much as she was. I was exhausted and she'd watch them when I worked part time. My in laws weren't really comfortable babysitting. I could have them watch them for a couple of hours but that's about it.
My Father in law passed away 5 year's ago he was 80 something. My MIL is 81 now and she spends a lot of time with the kid's now. I wish they had gotten to know their grandfather better, but they were young and he was older.
I have learned that if someone just stops by they get what they get, messy house, me with bad hair and maybe not ready for the day. It is what it is, we are who we are. I have never had anyone complain, I don't stress about it.
I'm not saying you're wrong and their right, I'm just saying next time you're frustrated with them take a step back and a deep breath and ask yourself if there really is a reason to stress or get angry.