One method is to apply a matrix to the graphics object, draw the text, then apply a new matrix so it clears the transforms.
Based in my sample project, the code would look like this:
'* Add a description string if it exists
If Not String.IsNullOrEmpty(m_EventList(i).Description) Then
Dim m As New System.Drawing.Drawing2D.Matrix()
m.RotateAt(30, New PointF(pos.X, pos.Y))
cg.Graphics.Transform = m
cg.Graphics.DrawString(m_EventList(i).Description, Me.Font, New SolidBrush(Color.Red), pos.X, pos.Y + Font.Height)
cg.Graphics.Transform = New Drawing2D.Matrix
End If