Rows.Clear って省略しちゃったけどそれはDataGridView.Rows.Clearのことだったんで
>DataGridViewは、行のクリアは行っています。
なら、そこは変わらないかも

自分が気にしてるのは、DataGridViewに入れるデータを取得・更新したときに
(DataGridView関係なく)入れるデータの方のDispose漏れはないですか?ということ…

>試しに、プログラム実行直後のDataGridviewに何も入ってない状態で、
>DataGridViewRow row = new DataGridViewRow()
>row.CreateCells(this.dataGridView1);
>を繰り返すだけでガンガンメモリ量が上がっていきます

インスタンスを繰り返し作れば使用メモリがガンガン増えるのは当たり前なので、何か気にするところを間違えてる気がするんだけど…