`CircuitHost.CircuitId` could technically nullref here if a misbehaving client calls StartCircuit multiple times and `CircuitHost.DisposeAsync` runs after the above if condition.    I know, super arbitrary race that will never occur in the wild...