I think overreacting is likely to increase his obsession. If you take the object he's attached to away, or if you make a big deal about how much you dislike it, he'll only cling to it more. A stuffed puppy isn't the problem, the problem is your own past embarrassment with your bad habit. Carrying a puppy is not a habit, and it's likely he'll give it up easily when the time comes. For the time being, it makes him feel relaxed just as for adults we may have a comfort food, a lucky accessory or a cozy robe we like to wear at relaxation time. I'd suggest a compromise where you set a couple of rules about puppy, such as puppy can come with him places but must stay in the car, puppy can't come to school because he could be lost or sent home with another child, etc. That will spare you having to worry he'll cling to puppy his whole life and embarrass himself, and it will allow him to seek comfort.