I've isolate with execution trace to the SQL statement issued by TOAD. Our All_Objects has ~114K rows.
SELECT
o.object_name
, o.object_type
, CASE WHEN (o.valid1 = 'false') THEN 'false'
WHEN (o.valid2 = 'false') THEN 'false'
ELSE 'true' END valid
, o.last_ddl_time
, o.object_id
, o.created
, NVL((SELECT DECODE (NVL (c.debuginfo, 'F'), 'T', 'true', 'F', 'false')
FROM SYS.all_probe_objects c
WHERE c.object_id = o.object_id), 'false') debuginfo
, (SELECT distinct NVL (p.AUTHID, 'CURRENT_USER') AUTHID
FROM SYS.all_procedures p
WHERE owner = :f1
and p.object_name(+) = o.object_name) AUTHID
, CASE WHEN (o.valid1 = 'false') THEN 'INVALID'
WHEN (o.valid2 = 'false') THEN 'INVALID'
ELSE 'VALID' END STATUS_1
FROM (SELECT
a.object_name
, a.object_type
, DECODE (NVL (a.status, 'VALID'), 'VALID', 'true', 'false') valid1
, (SELECT DECODE (NVL (b.status, 'VALID'), 'VALID', 'true', 'false')
FROM SYS.all_objects b
WHERE b.owner = :f1
and b.object_type(+) = 'PACKAGE BODY'
AND a.owner = b.owner(+)
AND a.object_name = b.object_name(+)) valid2
, a.last_ddl_time
, a.object_id
, a.created
, a.status
FROM SYS.all_objects a
WHERE a.owner = :f1
AND a.object_type = 'PACKAGE') o
ORDER BY 2, 1;