2.0.14.0ではスクロールバグは治っているはずです。

とりあえず頻度として、100%だったのが、0%。
今のところ落ちていません。

すごいネストをしていて、自分でも何をやってんのかわからなくなっていたのです。
一度、消して、改行あり、改行なしのコード。
サムネイル表示したとき、してないとき・・・ここで、改行ありのコードのままサムネイルを表示したところ。
おやおや。改行しました。
なんと、全項目で最大値をとるコマンドだったのです。

これこれ
bufferedDataGridView1.Rows[e.RowIndex].GetPreferredHeight(e.RowIndex, DataGridViewAutoSizeRowMode.AllCellsExceptHeader, true)

改行なしのときに、サムネイルを表示させて、試しにこのコマンドで、高さを求めた所・・・お、サムネイルの高さに合わせてくれた。

結論、改行ありのときも、無しの時もこれで取得。
改行ありで、高さ制限ありのときの処理を追加するだけでよくなりました。
ただし、最初に表示したときは行の最小の高さが優先されるようで、若干遅く発動します。
最初、全無狭い高さで、サムネが見つかると徐々にサムネの高さになっていきます。