Esta é uma duplicata, mas não tenho tempo para encontrar o original.
Se ele implementa IDisposable e se você o criou, você precisa chamar Dispose nele. É por isso que o desenvolvedor da classe fez implementar IDisposable.
O coletor de lixo não chama Dispose em todos os objetos de implementação de IDisposable.