Well, its an intresting theory, but as I understand it, this is standard input we are passing (the content of a file or stream). while this limit refers to the number of bytes in the command line arguments, which is a different thing. And it figures, after all, 32k is a great deal of command line argument, but a very small file.
So if this was the answer I would have to say thats a design fault, the contents of a file should not be passwed on the command line.
But it does rather confirm that you are seeing the same problem as I am.