ParseRussianAddressV3 ? )
Думаю разделители предполагаемых сущностей - это самая мелкая и простая задача... а вот дальше... типа нарисовалось штук 8-9 похожих на поля строк - перебираем варианты максимального соответствия...
Но... "105037, улица Парковая 3-я, г. Москва" может вдруг оказаться "105037_3-я Парковая"...
p.s. адресок ломаюший парсеры от диадока долетел?
Вот еще из такого же:
https://github.com/diadoc/diadocsdk-csharp/issues/227