La documentazione suggerisce di utilizzare l'impostazione della proprietà "virualmode".
https://msdn.microsoft.com/en-us/library/15a31akc.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
C'è un altro argomento interessante "Caricamento just-in-time".Implementazione della modalità virtuale con caricamento dei dati just-in-time nel controllo DataGridView di Windows Forms
https://msdn.microsoft.com/ it-us/library/ms171624(v=vs.110).aspx
Hai buoni esempi nel link sopra. Vale la pena guardarli.