GitLab CI jobs go from pending to failed in several hours if no specific runner becomes available

Summary

GitLab CI jobs go from pending to failed in several hours if no specific runner becomes available.

Steps to reproduce

Create a GitLab CI pipeline with many long-running jobs and a shared runner with only two concurrent workers. Set the "timeout" setting to a very large number. "pending" jobs will be marked as "failed" within several hours, without ever getting a chance to run.

Example Project

https://gitlab.com/kimlab/sysadmin/backup2/pipelines/11123789

What is the current bug behavior?

Jobs that are in the "pending" state for several hours are marked as "failed" with no build output. The "timeout" per build is currently set to 1440 minutes, and I have multiple jobs that need to be executed with only 2 shared runners.

What is the expected correct behavior?

Jobs should be in the "pending" state until a specific runner frees up and starts executing them.

Relevant logs and/or screenshots

Output of checks

This bug happens on GitLab.com