I am having this exact same problem. I can’t tell from the above code, but my situation often involves non-breaking white-space characters (u00A0), which PD4ML apparently refused to break on/before/after.

I was able to force PD4ML to not prefer breaking words at the comma over breaking words on white-space by replacing the comma character (u002C) with the ‘single low-9 quotation mark’ (u201A), which looks the same as a comma. Unfortunately, while PD4ML no longer breaks words up at the comma-like character, it’s now impossible to use CTRL-F to find numbers that you’d expect to have commas in them, and copy-pasting isn’t great either.