Мо Фланаган ответ лучший ИМХО. Еще немного контекста.
Если вы используете дескрипторы привязки, то нет никакого способа отслеживания состояния между вызовами RPC, и концепция «разъединения клиента» по сути бессмысленна - вам все равно нужно вернуться из вызова RPC.
Если вы используете контекстные дескрипторы, то библиотека времени выполнения RPC вызовет функцию _rundown при отключении клиента.
Когда вызывается эта подпрограмма, сервер может очистить все, что ему нужно.