Looking at your routine, I would say that you lo is extremely over tired.
You say your lo wakes at 6:00, and you don't generally put him down for his first nap until 8:00 - this is 2 hours A time, and is way to long for a 3 month old.
Your lo then has a second nap, and then does not nap again for 3.5 hours.
At 3 months, their A time is generally about 1.25 - 1.5 hours. I would aim for a routine something like this:-
E - 6:00
A - 6:00 - 7:15
S - 7:15 - 9:00
E - 9:00
A - 9:00 - 10:30
S - 10:30 - 12:00
E - 12:00
A - 12:00 - 1:30
S - 1:30 - 3:00
E - 3:00
A - 3:00 - 4:30
S - 4:30 - 5:15 (45 minute cat nap)
A - 5:15 - 6:00
E - 6:00
S - 6:30ish for the night
If your lo falls alseep with feeding, I would wake your lo up, change nappy, and then have a bit of A time.
Do you have a wind down routine? Is your lo swaddled?
Have you tried pat / shhh to get your lo back to sleep when he wakes?
Can you try and log how a typical day looks with how long naps are etc, so that we can try and get a better picture to see how well your lo copes with A times etc.