An alternative strategy for bedtime would be to trick him into thinking he's won.
Here's what worked with DS1 who acted very similarly only without language at that age.
Tell him ok you'll lie down with him. Keep the light on (or avoid doing whatever the "final" part of bedtime is, story, lightout, even teeth brushing, whatever) so he knows that bedtime isn't finished yet and you're not leaving yet. Tell him you're going to get something. Go and get it and come back. Come back really quickly for several nights - several weeks if necessary - so he gets used you popping in and out. Stay till he falls asleep.
If you can get even to this stage, it will ease your frustration as you will be able to do thing like sort the odd bit of laundry, read a magazine, etc, etc.
If he stays relaxed, thinking he has won, and if he is quite tired, then one night he'll fall asleep while you're popping out or moving around his room sorting his clothes. Take it slowly. Let that happen again and again.
This worked so well with DS1 (after months and months of fighting over bedtime because I was trying to be firm and supernanny-like) that he continued to fall asleep with the overhead light full on for another 9 months (until DS2 was born, and then life got completely out of control all over again.........).
Sounds like your DS is more sophisticated than mine was at that age but think about the details of your bedtime routine - somewhere in it there's a way to outwit him.