Index: binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 447)
+++ binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs	(revision 448)
@@ -7,4 +7,6 @@
 	[Serializable]
 	public class PersistentContainer {
+		private const string persistentDataFileName = "/AllocsPersistentData.bin";
+		
 		private Players players;
 		[OptionalField] private Attributes attributes;
@@ -44,14 +46,15 @@
 		private PersistentContainer () {
 		}
-
+		
 		public void Save () {
-			Stream stream = File.Open (GameIO.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Create);
-			BinaryFormatter bFormatter = new BinaryFormatter ();
-			bFormatter.Serialize (stream, this);
-			stream.Close ();
+			lock (fileLockObject) {
+				using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Create);
+				BinaryFormatter bFormatter = new BinaryFormatter ();
+				bFormatter.Serialize (stream, this);
+			}
 		}
 
 		public static bool Load () {
-			if (!File.Exists (GameIO.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
+			if (!File.Exists (GameIO.GetSaveGameDir () + persistentDataFileName)) {
 				return false;
 			}
@@ -59,8 +62,10 @@
 			try {
 				PersistentContainer obj;
-				Stream stream = File.Open (GameIO.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
-				BinaryFormatter bFormatter = new BinaryFormatter ();
-				obj = (PersistentContainer) bFormatter.Deserialize (stream);
-				stream.Close ();
+				lock (fileLockObject) {
+					using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Open);
+					BinaryFormatter bFormatter = new BinaryFormatter ();
+					obj = (PersistentContainer)bFormatter.Deserialize (stream);
+				}
+
 				instance = obj;
 				return true;
@@ -72,4 +77,6 @@
 			return false;
 		}
+
+		private static readonly object fileLockObject = new();
 	}
 }
