The ToGeometry function returns the pixels size of the image at the density (inch size) that you specified. I think the print quality is bad because the image density is still set to 600. What happens when you change the desiredDensity part to this:
image.Density = new Density(94);
MagickGeometry geometry = image.Density.ToGeometry(4, 6);