Dispose will work correctly if you construct the XtraGridBindingManager using the constructor which accepts an IContainer, e.g.,
myXgbm = new XtraGridBindingManager(this.components);
This is actually the constructor used by the XtraGridBindingManager designer when it auto-generates code. Using this constructor, dispose will also automatically be called when the container is disposed.
(The fact that Dispose does not work correctly when other constructors are used is a bug.)