The StrokeCollection has a Save(Stream) method which Saves the StrokeCollection to the specified Stream.
Here is a way of serializing StrokeCollection
var memoryStream = new MemoryStream();
using (memoryStream)
{
StrokeCollection strokeCollection; //Your stroke collection ommitted the declaration
strokeCollection.Save(ms);
ms.Position = 0;
}
Now when you want to deserialize it back you can pass the MemoryStream to the constructor of the StrokeCollection.
More can be found here. That's how I would do it.