Can you try an instanciation of your PersistentStorage as a real one instead of a ‘var’, so that the GC will see it as a real persistant element and also put it as a static member of the program class…An idea like this…
public class Program
{
private static PersistentStorage pse = null;
....
public static void Main()
{
...
pse = new PersistentStorage("SD");
....
I ve something else : u init the ps storage in a try catch to Mount it and then use it out of the try, which means the var scope is not available anymore and also the Mount will left during GC…