Я настроил обработчик события cellpainting и попытался добавить 300 строк в представление данных и наблюдал следующее исключение времени выполнения при прокрутке вертикальной полосы прокрутки.
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at System.Windows.Forms.DataGridView.ScrollRowsByHeight(Int32 height)
at System.Windows.Forms.DataGridView.set_VerticalOffset(Int32 value)
at System.Windows.Forms.DataGridView.DataGridViewVScrolled(Object sender, ScrollEventArgs se)
at System.Windows.Forms.ScrollBar.OnScroll(ScrollEventArgs se)
at System.Windows.Forms.ScrollBar.DoScroll(ScrollEventType type)
at System.Windows.Forms.ScrollBar.WmReflectScroll(Message& m)
at System.Windows.Forms.ScrollBar.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Код доступен здесь: http://pastebin.com/bN5v5PbS