Hello, I am able to reproduce this consistently with the attached code.
When the nanosecond portion of an OffsetDateTime falls in [999_500_000 … 999_999_999] it gets read back as a string which triggers an exception if …...contains nanoseconds in the range of 999,500,000 to 999,999,999...milliseconds, which exceeds the valid range for standard date conversion...