Consider the following three evaluations involving Flatten:
Flatten[f[f[f[x, y], 1, 2], f[x, y]], Infinity, f]
f[x, y, 1, 2, x, y] (* as expected *)
Flatten[List[f[f[x, y], 1, 2], f[x, y]], Infinity, f]
{x, y, 1, 2, x, y} (* as expected *)
Flatten[List[List[f[x, y], 1, 2], f[x, y]], Infinity, f]
{{f[x, y], 1, 2}, x, y} (* expected {{x, y, 1, 2}, x, y} *)
I would like to know why my expectation was wrong.