Вот быстренько состряпал
файлик.
Падения производительности в 20 раз не наблюдаю.
Попробуйте скомпилировать, проверьте на ваших данных.
Единственное, я прогонял на файловой базе, поэтому поменял:
case esriWorkspaceType.esriLocalDatabaseWorkspace:
wsf = new AccessWorkspaceFactoryClass();
break;
на
case esriWorkspaceType.esriLocalDatabaseWorkspace:
wsf = new FileGDBWorkspaceFactoryClass();
break;
Давайте дальше смотреть.
А вы когда запускаете задачу в фоновом потоке, при этом в основном потоке ничего особо ресурсоёмкого не делаете?