I think I had trouble getting the libraries that I use to generate binary identical outputs. I think a timestamp is added somewhere. My code uses its own checksum to see if anything has changed, and that works perfectly well.
In some cases if you load the data if some other graphs have already been loaded before, the nodes may end up getting different node IDs, which would change the data as well.
Is there any reason you need it to be binary identical?