rather than calling `SafeDispose()` here and below, can't we wrap the whole block in a `using()` statement?