Класс Секундомер предназначен для этого.
UserProcessorTime не имеет разрешения, необходимого для измерения счета до 100000 в цикле for. Ваши вызовы WriteLine не будут включены во время пользователя, поскольку они являются временем ввода-вывода. Возможно, ваш код не работает в потоке 0. Время пользователя не обновляется, кроме случаев переключения контекста. Когда вы печатаете startTime, вы меняете сохраненное значение. Возможно, есть и другие вещи, которые могут пойти не так, как я думал.
Я настоятельно рекомендую вам использовать класс Секундомер, который использует счетчики производительности процессора.