vtkObject::RemoveObserver from vtkCommand::Execute would crash
If during a vtkCommand::Execute you call vtkObject::RemoveObserver(vtkCommand*) to remove an observer (with some other vtkCommand), it would corrupt the linked list (see vtkSubjectHelper in vtkObject.cxx) and crash.
I did not checked any other vtkObject::RemoveObserver/vtkObject::RemoveObservers function, but I expect the same behavior.
I really think this shall be fixed, although adding a warning to the documentation would be also acceptable.
If you decide to fix it, I suggest adding "a new event" called vtkCommand::DeleteObserverEvent, in such a way that vtkObject::RemoveObserver is not actually removing the observer, but binding it to such event. The next time vtkSubjectHelper::InvokeEvent is called, it will be safe to remove those observers at the end of the function. I can do that by myself and submit a PR, just let me know!