Some suggestions:
- From the video you posted earlier, it occurs to me that the shapefiles you are using are already on your map. If so, why don't you just reuse them?
- You are crafting your DataGridViews yourself. Why don't you
** create a System.Data.Dataset with the tables you need
** fill the tables with values
** use those tables as datasource for your DataGridView. From my experience this not only is faster, it also uses less memory. - Dispose the SbnIndex, (and Shapefile feature set if you choose to create an new one) when you no longer need them.
- The SharpSbn library has a QueryOnlySbnTree, that reads the bins from disk when querying. This is slower than the way shown above, but helps you save memory.