Because Graphics.Transform returns a copy of the transformation matrix, not the matrix being used. In order to do what you want, you would need to do something like this:
e.Graphics.Transform = e.Graphics.Transform.RotateAt(5 ...)
But you would want to save your graphics state between rotations so the previous rotation does not affect the next one, you do this by saving the GraphicsState and restoring it.
Dim graphicsState as GraphicsState = e.Graphics.Save()
e.Graphics.Restore(graphicState)