"Non specificato" e "casuale" sono due concetti completamente diversi.
Il funzionamento esatto di un garbage collector non è specificato e dipende dal garbage collector (solitamente implementato da una VM di sorta, ma non necessariamente).
Pertanto, non hai un tempo specifico (cioè deterministico) in cui raccogliere i rifiuti.
Tuttavia qualsiasi implementazione fornita seguirà alcune regole e vi è un'alta probabilità che due esecuzioni successive dello stesso programma presentino pattern di garbage collection molto simili.
Quindi l'effettiva entropia fornita da un garbage collector sarebbe molto bassa (e scoprendo quali parti puoi usare come l'entropia essere ingannevole).
Come confronto: un HashMap
in Java non garantisce alcun ordine di recupero per i suoi membri (fondamentalmente perché garantirebbe un sovraccarico che non vale la pena pagare, il più delle volte). Tuttavia per un'implementazione data e un insieme dato di inserimenti / rimuovi puoi sicuramente calcolare l'ordine risultante. Solo perché non esiste alcuna garanzia per un determinato ordine, non significa che l'ordine sia casuale.