Using ParseExact
with optional leading zeros can be ambiguous if there are not delimiters between the components. What would 2019111000000
represent?. Jan 11 or Nov 1?
I think if the parser hits a code with an optional leading zero, and sees more than one digit in the value, it tries to parse as if the number is two digits.
So it parses 2019 as the year, then tries to parse 44 as the month, which fails. It is not "smart" enough to know that 44 could not represent a valid month and deduce that it must represent a single digit month.
You could do some processing on your own, like taking off the year and time which are known widths and figuring out if either the month or day (or both) are two digits, but you still have the possibility of ambiguity with the example I give above. If there is any other context to your data (like it's in some order) you could make an educated guess about the month and day, but the built-in parser isn't that sophisticated.