The docs say this, but I didn't guess from the API that the CommandTimeout property on a Connection does not actually apply to commands. It only applies to opening the connection. To set the timeout for commands, use the CommandTimeout on the Command object itself (i.e. commands do not inherit connections' timeout settings).
... until the collector arrives ...
This "blog" is really just a scratchpad of mine. There is not much of general interest here. Most of the content is scribbled down "live" as I discover things I want to remember. I rarely go back to correct mistakes in older entries. You have been warned :)