try gc finalizer workaround