I didn't have this happen with either of my babies. I don't know if it will help you or not. But you asked for ideas... so here is what we did:
First, I LOOSELY followed the order recommended in On Becoming Babywise. This order is eat, awake time, sleep, eat, awake time, sleep. So, when they nurse, you keep them awake at the end. First, it ensures that they don't snack and doze. They are awake enough to take a full feeding. And then you keep them awake for a bit. At 5 months, he should easily be awake for over 30 minutes after a feeding. Then, when he begins to be a bit cranky, you let him nap. Pacifiers are great for this, because they need to suck, but aren't hungry. They will nap for a good nap. Anywhere from 90 minutes to 120 minutes usually. Then repeat. The only time you do NOT keep them awake following a feeding is during the night. You nurse them, and while still awake but very drowsy, you put them to bed.
Following this ORDER of activities, my breastfed son was sleeping very well (7 hours or more at night) right about 12 weeks. I began introducing solids to him (breast milk and cereal) beginning at 4 months (that used to be the recommendation). He's always been a champ sleeper.
My daughter, we ended up stopping the breastfeeding very early.. .maybe at a month. But I did everything else the same with her. She was sleeping 7 hours or more at a stretch at 6 weeks. She is also a champion sleeper.
My son gave up his pacifier (on his own) at about 6 months old. My daughter was very attached to hers. But, she is mature for her age (always seems to have been this way) and traded all of them for toys on her 2nd birthday. Daughter turns 11 next week. Son will be 14 in 3 weeks.
They NEVER slept in our bedroom. Not in our bed (well, once or twice, but it wasn't on purpose and we didn't like it), not in a side sleeper, not in a pack and play. They always slept in their own room in their own crib/bed.
I would suggest you introduce a pacifier if you haven't, and make sure he is getting a full feeding each time he nurses. Don't let him fall asleep after 5 minutes.