gc sta per garbage collection (raccolta dei rifiuti). Se guardi l'esempio la differenza tra destroy() e gc() è che il primo elimina fisicamente il file associato ad un particolare session id, il secondo cancella tutti i file corrispondenti a sessioni scadute.
Se pensi di utilizzare un DB il metodo destroy() corrisponde all'eliminzaione di un record, mentre il metodo gc() elimina tutti i record corrispondenti a sessioni scadute.