К сожалению, DateTime.Parse (Exact) всегда будет возвращать полный DateTime, полный с датой.
Если вы опускаете какие-либо детали, детализирующие дату, по умолчанию это будет сегодняшняя дата. 6 из 7 дней в неделю, которые не будут соответствовать шаблону, в котором указано понедельник, и именно поэтому вы получаете это исключение.
ParseExact не будет пытаться найти соответствующее значение DateTime.
Для Например, если вы запустите это:
ParseExact("Mon 30.03", "ddd dd.MM", culture)
, это сработает в этом году, потому что 30 марта 2020 года - понедельник. Однако в 2021 году 30 марта будет во вторник, и, таким образом, он снова потерпит неудачу. ParseExact не будет пытаться найти подходящий год, который будет иметь 30 марта в понедельник, и это то же самое, что и указать понедельник. Он не будет пытаться выяснить, о каком понедельнике вы говорите.
Короче говоря, вам нужно будет найти другой способ сделать это.
Полагаю, вам следует отступить от ParseExact и спросите себя, как точно должен переводиться "Пн 30.03" в указанную c дату в конкретный c год. Что такое лог c. Затем вы можете попытаться найти правильный метод для вызова или, скорее всего, написать код для этого.