#583 introduced the separation of unmanaged pointer lifetime management into SafeHandle. The Bridge.Client class could not be fully converted to a disposable implementation without other possible API changes; this work was deferred to fix the immediate issue that the PR was addressing. This conversion should be done to match the pattern established for the Bridge.Worker class so that there aren't two SafeHandle implementations for Interop.TemporalCoreClient*.