Fix deadlock and session state issues
I could not push to !1934 (closed) so this MR replaces it. I did some revision of the originally submitted code, and got it all working properly.
With this merged, there is still one conformance failure in session state in the recently merged session state tests I wrote, but I think it's because there's an implication to those tests we may not actually intend no more failing session state tests.
Edited by Rylie Pavlik