I'm not convinced this should be default behaviour - nothing prevents the job from running concurrently if triggered manually, but it was a specific design choice not to poll for changes while a run was in progress.
Perhaps a better solution would be to add an option that allows polling while builds are progressing. This would default to unchecked to maintain existing behaviour.