Yes, the default for "purge oldest volume" is no.
So you have just two volumes in this pool. As Kern said "Yes, there can be typically a few seconds delay between when a volume is chosen for use and when it expires." and this could be the issue you are facing.
Maybe another thing additionally Josh's suggestion that could help you to avoid this problem. I'm talking about having an admin job running after Th backup job to do the prune instead of having the "AutoPrune = yes" configured. Futhermore, this way can make your backups go faster.
I think Bacula's recycling volume algorithm is working correctly and you are facing this problem because of your "volume use duration" time configured. Try to set this value somewhat closer to the time that you want the volume be available for your backup jobs. You can do this based on your last time written values for these volumes.
Best regards,
Ana