It means exactly what it says. The lists you are passing to Thread
are not the same length.
Thread[f[{1, 2}]]
(* {f[1], f[2]} *)
Thread[f[{1, 2}, {3, 4}]]
(* {f[1, 3], f[2, 4]} *)
Thread[f[{1, 2}, 3]]
(* {f[1, 3], f[2, 3]} *)
Thread[f[{1, 2}, {3}]]
(* Thread::tdlen: Objects of unequal length in f[{1,2},{3}] cannot be combined. *)