La documentación sugiere ir con la configuración de la propiedad "virtualmode".
https://msdn.microsoft.com/en-us/library/15a31akc.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
Hay otro tema interesante "Carga justo a tiempo". Implementación del modo virtual con carga de datos justo a tiempo en el control DataGridView de Windows Forms
https://msdn.microsoft.com/ es-es/library/ms171624(v=vs.110).aspx
Tienes buenos ejemplos en el enlace de arriba. Vale la pena mirarlos.