What are Xml serialization assembilies and why do we need them? If at all possible can you provide links? Thank you in advance
Maybe you are asking for this reference - XML Serializer Generator Tool
Please see XML Serializer Generator Tool (Sgen.exe):
The XML Serializer Generator creates an XML serialization assembly for types in a specified assembly in order to improve the startup performance of a XmlSerializer when it serializes or deserializes objects of the specified types.
From Googling, I found the answer on MSDN.
XML Serializer Generator Tool (Sgen.exe)
The XML Serializer Generator creates an XML serialization assembly for types in a specified assembly in order to improve the startup performance of a XmlSerializer when it serializes or deserializes objects of the specified types.
Examples
The following command creates an assembly named Data.XmlSerializers.dll for serializing all the types contained in the assembly named Data.dll.
sgen Data.dll
The Data.XmlSerializers.dll assembly can be referenced from code that needs to serialize and deserialize the types in Data.dll.
So in summary, you only need them if you are using Xml Serialization a lot and you want to get better performance.