Related to bug 343256
The workspace build has benefit from an optimization to prevent from too greedily using the Workspace Root scheduling rule for the notification of listeners, which may be invoked concurrently. It relies on checking whether the notifications can happened with a "relaxed" rule: https://bugs.eclipse.org/bugs/attachment.cgi?id=194597 .
A similar approach should be implement in IProject#buildInternal(...). That would allow projects to build in parallel.