I agree with what the previous posters have said about young babies just really wanting to be held.
What I did was to change the way my DS slept "on" me (or his daddy) so that we were more hands off, or just one hand on. It wasn't the same every time but as example:
when sitting on the sofa instead of full on snuggles all the way through the sleep it was full on cuddles to sleeping or almost asleep then laying on a pillow on my lap rather than *in arms* or *over the shoulder* type holding.
or
when on the sofa putting LO on the sofa next to me, right up against my leg for comfort and I'd have a hand on him...but he was learning to sleep on something other than me (as above not *in arms*)
or
I'd sit on the floor and set up a large flattish pillow or folded blanket next to me to lower him onto and keep one hand on him, rub or pat or jiggle if needed
or
at night he slept in a hammock next to my bed but I would leave my hand on him when needed (and I'd sleep like that)
basically I had many hands on him and gave heaps of reassurance but at the same time I would put him down and get him more used to feeling the weight of his own body on another surface rather than being held up.
My DS was younger than yours is now but I am sure the same approach can be tried, it is the same as gradual and gentle sleep training with shush/pat by picking up wherever needed but also getting LO used to sleeping without being in arms.
I like the sound of the co-sleeper crib Ali mentioned too, I think they are great for providing closeness but own space to gently teach LO they can sleep alone but mum/dad will always respond when needed (or keep a hand on).
My DS also turned out to have silent reflux which wasn't diagnosed or medicated until about 5.5 months.