`queued` gives what was written in the outbound queue already, and the `queued + size` checks that what is going to be written is not exceeding the configured limit.
Have you increased the limits with global parameters (tcp_conn_wq_max and tcp_wq_max), or just used the defaults? If you deal with large output, these values have to be adjusted.