PURGE RECYCLEBIN removes from the current user.
So when you are selecting from DBA_SEGMENTS you can able to see objects.
Refer the below link:
As said by Baris,
You want to do PURGE DBA_RECYCLEBIN
I purged the Recycle bin, yet DBA_SEGMENTS is showing a lot of BIN$ objects.
Any idea why is that?
Remember that the recyclebin can throw some strange things your way that can fool you in unexpected ways.
Just purging the recycle bin (even the DBA purge) doesn't mean you won't have any BIN$ objects in your DBA_SEGMENTS listing or your system.
When you use FLASHBACK to restore a table the indexes will still have BIN$ names.
The table will have the original name but the indexes won't.
Try this example in the SCOTT schema to see what I mean:
drop table recycle_test cascade constraints;
create table recycle_test (col1 number);
create index recycle_ndx1 on recycle_test (col1);
insert into recycle_test values (1);
drop table recycle_test;
flashback table recycle_test to before drop
SELECT SEGMENT_NAME, BYTES/1024/1024 MB, SEGMENT_TYPE
and segment_name like 'RECYCLE%' or segment_name like 'BIN$%'
ORDER BY BYTES;
Make sure you actually insert into the table in the example above. Otherwise you may not see a segment at all due to deferred segment creation.