I saw your code,
ctlGrid.BeginInit();
AddColumn("юцфф щчщуф", "UNIT_ID",100, colUnitId);
//ctlGrid.EndInit();
If you use databinding you shouldn't use BeginInit/endInit or after each BeginInit call EndInit (in your example code - you've forget to uncomment endInit or forget to comment BeginInit).
ctlGrid.BeginInit();
AddColumn("юцфф щчщуф", "UNIT_ID",100, colUnitId);
ctlGrid.EndInit();
or
//ctlGrid.BeginInit();
AddColumn("юцфф щчщуф", "UNIT_ID",100, colUnitId);
//ctlGrid.EndInit();
You can download a sample - FlyGrid.Net Fast DataBinding
to see that more than 2k records loads less than 1 second.