Here is the simplest solution:
tabControl.ItemSize = new Size(0, 1);
tabControl.SizeMode = TabSizeMode.Fixed;
Although the height is being set to 1 pixel, the headers will actually disappear completely when you also use TabSizeMode.Fixed
.
This has worked well for me.