Use Matrix to define a rotate point. Example...
e.Graphics.DrawEllipse(Pens.Black, 50, 50, 50, 100);
Matrix X = new Matrix();
PointF pt = new PointF(90.0f, 80.0f);
X.RotateAt(45, pt, MatrixOrder.Append);
e.Graphics.Transform = X;
e.Graphics.DrawEllipse(Pens.Red, 50, 50, 50, 100);
You can see the difference of the two ellipse