With the margin set to 20, we see the following output:
(* 00000011111111112
* 45678901234567890
*)
(* 1. xxxx x xxxx *)
(* 2. xxxx xx xxxx *)
(* 3. xxxx xxx xxxx *)
(* 4. xxxx xxxx
xxxx *)
Note that cases 1. and 4. are handled correctly, but cases 2. and 3. do not respect the margin and should break.