One thing Mike Saltzman has always stressed was to not create thousands of Appearance objects by modifying appearance in InitializeRow etc, as this is slow and consumes memory. Better to create the various permutations of appearance at design time, if you can, and then just assign predetermined appearance objects after evaluating a condition rather than modifying appearance on the fly.
In other words rather than:
cell.Appearance.Backcolor = Color.Red;
try
cell.Appearance = myCautionAppearance;
Bob Graham