FileStream should be closed when Close() is called, duh\!
After much contemplating, we now have a working BGM decoder