I think Mark's comments are probably in the right area.
If you update the table in one session, then other sessions
are going to start creating read-consistent clones. Do you
have a recycle pool ? If not, then the clones will end up in
the Keep pool.
It's possible that if you generate too many clones of blocks
1 to 100 (say) then the "originals" of some other blocks have
to be kicked out of memory to make way for them - and then
get read back later.
You could check with a query like:
select file#, block#, count(*)
from v$bh
where objd = {data object id of table}
group by
file#, block#
having
count(*) > 1
/
to see how many copies there are of each block.
Or possibly: