The UI will dispatch the deletion of a user's manager field as a patch removal of the manager field. The realization of this patch request will result in an invocation of MOS#update with a newObject parameter missing the manager field. When virtual properties are calculated, the contract implicit in effectiveRoles.js, stipulates that relationship queries will be dispatched only in the absence of the relevant relationship field in the managed user parameter. See
Thus, when MOS#update is called, a patch remove of the manager relationship field will result in a newObject parameter missing this field, and thus any virtual property calculation honoring this implicit contract will query the corresponding relationship field, thereby returning manager field state other than that specified in the patch invocation, thus generating virtual properties based off of incorrect relationship state.
Note that it is impossible to not honor this implicit contract, as edge mutations in MOS#update occur after virtual property calculations - and thus the only accurate relationship state is resident in the newObject parameter. The absence of this manager field implies that the current relationship state is correct, and thus can be queried.
Thus it would seem that the patch removal of a singleton relationship field must be interpreted as the removal of the edge in this field, and not that this relationship field has not been affected by the patch request, as is currently the case.