I ran your sample, and it did not work. Not SF, but your query would not ever work. I did reproduce your problem once I made the query work. The bottom line is that you are using a this.CurrentRow["ItemsCount"] without actually having that column in the data table. When the Dispose fires, that strong-type field is being evaluated and thus the error.
I have reattached the sample (I had to change the references to 8.1 since I haven't dowloaded 8.2). But this had nothing to do with the grid or or SF for that matter.
If you want to reference a field in the data table, make sure it is there otherwise the error will occur. You can also do real-time aggregate calculations if you have the need when the property is evaluated....though you could run into performance issues there if an additional query is taking place.
Also, your query would not work
SELECT * AS ItemsCount FROM Movies
That query will never work since you cannot place a wildcard into a single column name. I changed to this just to create the column, but you could do a query and figure out your aggregates, etc.
SELECT Movies.*, Movies.mv_pk AS ItemsCount FROM Movies
I know that pushing the PK into this column doesn't do anything of value here, but it should at least get the point across.
But in regards to your problem, that was it here.