The sweet and kind schtick - This is love bombing behaviour.
Acting like he's following a 'this is what a boyfriend does' script, and getting angry when you're not following the 'and this is what a girlfriend does' script.
Making you feel so uncomfortable you veer back into the script (such as the posting pics on social media incident).
Manipulating you into awkward situations such as meeting his mother, your colleagues.
In his mind he IS your boyfriend, you ARE his girlfriend and this relationship is going to follow a set of tracks he has laid out for you both.
You've already mentioned the mask slipping sometimes - yes, it's a mask.
And you'll either dig your heels in and do things your own way, and see the mask fall more and more often - with ugly results.
Or you'll blindly go along with it, anything for a quiet life - and in a few years we'll see messages from you saying he won't let you go out, wear makeup, see your friends ...
Female socialisation to be nice, be kind, give in, appease and please - he's playing you.
I initially thought a text wouldn't be the way to do it - but now I think yes, a clear, calm, factual 'this isn't working for me so I won't be seeing or contacting you again' message is wise.
No apologies, no 'it's not you it's me' nonsense, no examples that could be seized on and worried at. 'No I'm not ready for a relationship.' Nothing that could be read as a chink in the door.
Just a statement and repeat it, don't get drawn into conversations.
Return the gifts.
Be aware there may well be phone calls, messages, flying monkeys such as his mother employed, visits to your workplace, your front door, so have plans in place.