Improve producer errChan handling and prevent QueueMessage deadlocks