java.text.DateFormat and therefore its subclass java.text.SimpleDateFormat is not thread safe as it contains mutable fields (e.g. the calendar field), which will be mutated during calls to format and parse. Thus, concurrent (or real parallel) pickling respectively unpickling of Date object is not deterministic. For this reason dateFormat should not be a "singleton" val instead one should create new SimpleDateFormat instances inside the pickle and unpickle methods.