Ja und nein. Grundsätzlich sollte PHP die abgelaufenen Sessions selbst bereinigen, sofern die entsprechenden Einstellungen korrekt gesetzt sind. Ich hatte aber schon mehrfach Systeme, bei denen der Session-Ordner trotzdem über längere Zeit nicht oder nicht zuverlässig bereinigt wurde.
Genau für solche Fälle halte ich eine zusätzliche, definierte Bereinigung für sinnvoll. Alles, was älter als X Tage ist, kann dabei gezielt entfernt werden. Damit ist man nicht davon abhängig, ob und wann der PHP Garbage Collector tatsächlich greift.
Neu gibt es in b1gMail 7.5.0 die "Geplanten Aufgaben". Das ist der ehemalige CleverCron, den ich fest in den b1gMail Core integriert habe. Darüber lässt sich auch die Session-Bereinigung sauber und regelmässig ausführen.
Die 7 Tage aus meinem Beispiel sind für Sessions wahrscheinlich etwas sportlich gewählt. Das ist aber komplett frei konfigurierbar. Man könnte die Bereinigung beispielsweise einmal pro Woche um 04:00 Uhr laufen lassen und nur Session-Dateien entfernen, die älter als 30 Tage sind.
Damit ersetzt b1gMail die PHP-eigene Session-Bereinigung nicht, sondern hat zusätzlich einen kontrollierten Fallback. Selbst wenn der PHP-GC aus irgendeinem Grund nicht sauber arbeitet, wächst der Session-Ordner dann nicht wieder über Monate oder Jahre auf hunderttausende oder sogar Millionen Dateien an.