BigQuery does not charge for any job that returns an error. Only jobs that report success (there is an empty statistics.errorResult
field) are candidates for billing. We'll look into the issue you brought up.
If have long-running queries, you also may be better off using batch priority queries, since they will be queued and will not hit the "Too many concurrent queries" errors.