I agree with those who say do NOT let a 3 week out CIO. That's way too young - and the reason my MIL was not welcome at my home when my last baby was born. I held my babies all the time, nursed on demand, slept with them in my bed, etc. My children are now 6, 8, and 10 - all amazing sleepers, eaters, smart, active...I have very little complaints at all.
All 3 of my kids still like to cuddle...even my 10 year old! My 8 and 6 year old are always in my bed if my husband is not - sometimes I wake up and find him sleeping in one of their beds and one of my boys next to me. (I go to bed early, husband goes later...so the boys take advantage sometimes.)
I would continue to hold him. It won't last for years, but it will make him feel safe and secure. Confidence and trust starts at this age. If you do not want to carry him around all the time, try swaddling, but please don't let the baby cry it out.