Questo è un duplicato, ma non ho tempo per trovare l'originale.
Se implementa IDisposable e se lo hai creato, devi chiamare Dispose su di esso. Ecco perché lo sviluppatore della classe ha fatto implementare IDisposable.
Il Garbage Collector non chiama Dispose su tutti gli oggetti che implementano IDisposable.