Una possibile soluzione sarebbe quella di paginare i record della DataGrid.
Se imponi la paginazione di dieci record alla volta dovresti risolvere il tuo problema.
Tieni conto che l'oggetto DataGrid è tanto potente quanto pesante,e se ci carichi parecchi record il client che utilizza la pagina non sarà tanto felice.
Spero di essere stato esauriente!!!