In class com.vividsolutions.jts.simplify.TaggedLineStringSimplifier field "LineIntersector li" and method "hasInteriorIntersection" are static and do not support multithreaded access. When used in heavy multithreaded environment some points are not simplified because are false-treated as interior intersections.
1. make field and method non-static
2. add synchronization section
3. do not use class fields in LineIntersector (result, inputLines, ...)