If a resource is running a Background process then technically it is 'not busy' and available to run another Background (or Foreground) process, according to the way business object Run Modes work. I think that's why the same resource is chosen - if the running process was Exclusive, then another pool member would be selected for the next process.
Perhaps ideally the pool member selection logic should be 'find the least busy member' but I think it's actually 'find the next member capable of running this process', and if the Run Modes align, then that next member may already be running a process.
------------------------------
John Carter
Professional Services
Blue Prism
------------------------------