nice agent: keep the main context alive until the agent is destroyed
Recent addition of async removal of turn refreshes added sources to the main context when a stream is removed from the agent. Then, the main context must be still running until the nice agent is disposed to properly free resources.