DrawToBitmap only draws from the TLHC of the source control, as it assumes that the whole control (in this case, probably an entire form) will be required. If you want just a portion, then you need to draw the whole control into a suitable bitmap, then draw a portion of that image into a new bitmap.
Bitmap imageOfControl = new Bitmap(600, 600);
Rectangle rc = new Rectangle(0, 0, 600, 600);
this.DrawToBitmap(imageOfControl , rc);
Bitmap ax = new Bitmap(300,300);
using (Graphics g = Graphics.FromImage(ax))
{
g.DrawImage(imageOfControl, new Rectangle (300, 300, 300, 300), new Rectangle(0, 0, 300, 300), GraphicsUnit.Pixel);
}
imageOfControl.Dispose();
pictureBox1.Image = ax;