If this were in a multi-threaded context, that would be a problem. It is possible that the TextChanged event will be TextChanged at the moment when you cancel your subscription, thereby not allowing you to assume that it is working while this code is also working.
However, in this case both methods will always be executed in the user interface thread, therefore, although this code will not really be βbrokenβ (you could not fire the event with the changed text at the same time, since the user interface thread can only run one at a time from two events), but it also does not serve the purpose and can simply be deleted (because the event cannot be fired while this event handler is fired, because it blocks the user interface thread).
Servy source share