Conclusion
Serializations allow a program to easily store its current state. By storing a series of state serializations, you can implement undo and redo features. If you are building state serializations anyway, then you can easily save and restore them in files, making it trivial for your program to save and load data.
Best of all, you don't need to tell the SoapFormatter how to serialize and deserialize your objects. You just tell it to serialize m_DrawingObjects, and it figures out how. After you get used to the details, using serializations for undo, redo, saving, and loading is largely a mechanical no-brainer.
NOTE
For more information on using XML in VB.NET, see Rod's book Visual Basic.NET and XML (Wiley, 2002, http://www.vb-helper.com/xml.htm).