Sounds familiar!! We didn't wean Daisy until 28 weeks properly - she just wasn't interested until then.
However, when we did start it was horrendous!!! The puree just came back up constantly and I've never seen so much projectile vomit!!! All sorts of different colours too...

I chatted to my HV who is wonderful - very laid back and calm, who asked me what I thought was the problem. The first person who did that really (apart from my mum!). I said I was convinced it was because the puree is the same fluid like consistency of milk, but obviously without the Gaviscon, so it was coming back up in the way her milk would. She suggested that I just gave her 'real' food - not pureed at all. I did it straight away and I think she's only been sick once since then - over a month ago!
However, at 16 weeks, I don't know whether your son is too young for real food - Daisy certainly would have been, but they are all so different.
Hope this helps, although probably not!
Good luck
C xx