My DD is 3 1/2 months old and does the same thing as your DS. From my experience I feel its better to leave her be. She'll sleep when she's ready. Her Bedtime is at 7pm. She started doing this at about 10 weeks. If I lay her down at 7:00 or even 6:30 if she's extra tired, she'll go to sleep on her own. If I wait any later then 7:30 tops, she'll fuss for hours because she's over tired.
When I put her to bed she'll often times just coo to herself for a while before sleeping.
Perhaps you should start your bedtime routine earlier. He may be trying to tell you that he needs an earlier bedtime.
When I started the 7pm bedtime with my LO my life changed. She sleeps more, she's less fussy, she's just happier. Before I would put her to bed at 10-10:30 and she just wouldn't sleep because she was over stimulated and overtired. It sounds like this is whats happening to you.
Try putting him down for bed at 7:30 after his last evening bottle, if you do this every night he'll learn that thats the norm. That its bedtime and time to sleep. If he cries try PU/PD or pat shush. Also when you do your bedtime routine, I recomend you try Bath, stories, then bottle. That way it will help him wind down and he'll know as soon as you get him in the bath that its time for sleep. Also maybe you could introduce a dreamfeed before you go to bed, this may help him sleep longer, although sleeping through till 5am at 12 weeks is pretty impressive. My LO sleeps till 6-6:30 with the dream feed. She starts her day at 8:30-9am
HTH
Please let us know what happends