A user reports many builds stuck waiting for a lock on the project's primary workspace (not @2, etc.), which should only be possible if some code has acquired a "quick" lease on the workspace but then failed to ever release it. There are no threads shown holding the workspace lock. Several threads in AbstractProject.pollWithWorkspace and elsewhere are waiting for it, in some cases for days.
https://github.com/jenkinsci/jenkins/blob/jenkins-1.580.1/core/src/main/java/hudson/model/AbstractProject.java#L1442-1445 shows a potential window of vulnerability: if getBuiltOn, createLauncher, decorateByEnv, or getEnvironment threw an exception, and it went unreported or was somehow lost in the logs, the lease could be left locked indefinitely.