When you use AutoSize, it assumes a horizontal orientation - and autosizes on that basis. It then Paints the control text using the size and horizontal text. But since you have applied a rotate / transform to the graphics object it will draw with, it erases your text, and draws it's own - at an angle which means it is no longer visible within the bounds of the actual control.
If you want an autosize, rotatable control, you are going to have to dump Label completely and create your own alternative based on a UserControl, and handle it all yourself, via MeasureString. Do note that the size of the control will have to change as the rotation does, as the control is rectangular:
____
|1234|
----
is around 25 pixel high, by 75 wide:
_
|4|
|3|
|2|
|1|
-
Is probably about 75 pixels high, by 30 or so wide (especially is the characters are rotated though 90 degrees as well)