Попробуйте удалить stream.Seek(0, SeekOrigin.Begin);
, однако как все-таки сериализуются данные, может там тоже есть проблема? соответствующий метод выглядит так:
public static bool TrySerializeToFile<T>(string fileName, T data) where T : class
{
bool operationSucceed = false;
try
{
using (FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, data);
operationSucceed = true;
}
}
catch
{ }
return operationSucceed;
}