Убрал метод GetMarks, вызываемый из конструктора, а создаваемый в нем лист перенес в конструктор.
Убрал AsParallel при разделении на параграфы
Небольшая очистка кода - RemoveMark теперь только удаляет Mark, проверка на игнорирование разметки вынесена в вызывавший метод.
Mark не передается в те методы, где он не нужен полностью
StringExtensions вынесен в отдельный файл