python-igraph pickling efficiency
Pickle is a serializer from the standard library in Python. These guesses seem quite likely to me:
When igraph was started they did not want to create an own file format so they used pickle. Now the default behavior for saving graphs is not pickle but the own format.
When saving objects with igraph in graphml, the library knows what is important and what is not and will use minimal memory. Pickle, however, can serialize many Python objects to strings and will save every object in a list or dictionary in case it is reused or has cyclic references.
I am a beginner in igraph.
I have a graph data of 60000 nodes and 900K edges. I could successfully create the graph using python-igraph and write to disk. My machine has 3G memory. 
When I wrote the graph to disk in graphml format, the memory usage was around 19%; with write_pickle, the usage went up to 50% and took significantly more time. 
What is the reason behind this behavior of igraph? When should and when should I not use the pickle format? 
Please shed light into this.