See my previous comment about `__del__` vs. `__enter__`/`__exit__`.