When a transaction commits Oracle do updates RBS header indicating the transaction has been commited but it does nothing to the data block -delayed clean up calls for the next transaction visiting the block to take action.

At the time a new transaction visits the same datablock Oracle looks at datablock header and notices a non-commited transaction was working on that block so Oracle goes to the corresponding RBS for more information, finds out the transaction did got commited then marks the datablock header as commited.

That's why a second transaction goes for RBS even after the first transaction commits -Delayed Cleanup is your answer.