Why is my biggest segment resulting in an empty table?
You might have empty blocks below the high water mark (HWM). Delete statement, by default, doesn't lower the HWM; however, TRUNCATE, CTAS to name few do (down to MINEXTENTS on the table). Thus the empty blocks are considered as used blocks. 

Simple Demo:

SQL&gt; create table t1(col1 varchar2(100));

Table created.

SQL&gt; select bytes from user_segments where segment_name='T1';

     BYTES
----------
     65536

SQL&gt; insert into t1 select 'sample text of line'||level from dual connect by level&lt;=2000;

2000 rows created.

SQL&gt; commit;

Commit complete.

SQL&gt; select bytes from user_segments where segment_name='T1';

     BYTES
----------
    131072

SQL&gt; delete from t1;

2000 rows deleted.

SQL&gt; commit;

Commit complete.

SQL&gt; select bytes from user_segments where segment_name='T1';

     BYTES
----------
    131072


You see, the size of the table is still same though the table is empty.

SQL&gt; truncate table t1;

Table truncated.

SQL&gt; select bytes from user_segments where segment_name='T1';

     BYTES
----------
     65536