Index: /branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs
===================================================================
--- /branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs	(revision 2474)
+++ /branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs	(revision 2475)
@@ -35,4 +35,5 @@
 		internal Settings(PersistentStore store)
 		{
+			Store = store;
 		}
 
Index: /branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs
===================================================================
--- /branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs	(revision 2474)
+++ /branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs	(revision 2475)
@@ -61,5 +61,5 @@
 
 			//Get the persistent store for this assembly
-			PersistentStore = Host.Instance.PersistentStore.GetValue<PersistentStore>(
+			PersistentStore = Host.Instance.PersistentStore.GetSubsection(
 				new Guid(((GuidAttribute)Assembly.GetCallingAssembly().
 					GetCustomAttributes(typeof(GuidAttribute), false)[0]).Value).ToString());
Index: /branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
===================================================================
--- /branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs	(revision 2474)
+++ /branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs	(revision 2475)
@@ -31,4 +31,5 @@
 using Eraser.Plugins.ExtensionPoints;
 using Eraser.Plugins.Registrars;
+using System.Runtime.InteropServices;
 
 namespace Eraser.Plugins
@@ -87,4 +88,5 @@
 			Instance = this;
 			PersistentStore = store;
+			Settings = new Settings(PersistentStore.GetSubsection("Eraser.Erase"));
 
 			EntropySources = new EntropySourceRegistrar();
Index: /branches/eraser6/pluginsRewrite/Eraser/Settings.cs
===================================================================
--- /branches/eraser6/pluginsRewrite/Eraser/Settings.cs	(revision 2474)
+++ /branches/eraser6/pluginsRewrite/Eraser/Settings.cs	(revision 2475)
@@ -171,5 +171,7 @@
 						subKey = Key.CreateSubKey(subsectionName);
 
-					return new RegistrySettings(subKey);
+					PersistentStore result = new RegistrySettings(subKey);
+					subKey = null;
+					return result;
 				}
 				finally
@@ -199,4 +201,5 @@
 				//Return the Settings object.
 				registry = new RegistrySettings(eraserKey);
+				eraserKey = null;
 			}
 			finally
@@ -534,7 +537,5 @@
 		private EraserSettings()
 		{
-			settings = Host.Instance.PersistentStore.GetValue<PersistentStore>(
-				new Guid(((GuidAttribute)Assembly.GetCallingAssembly().
-					GetCustomAttributes(typeof(GuidAttribute), false)[0]).Value).ToString());
+			settings = Host.Instance.PersistentStore.GetSubsection("Eraser");
 		}
 
Index: /branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs
===================================================================
--- /branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs	(revision 2474)
+++ /branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs	(revision 2475)
@@ -45,5 +45,5 @@
 			Settings = new ManagerSettings(persistentStore);
 			entropyPoller = new EntropyPoller();
-			Host.Initialise(persistentStore.GetValue<PersistentStore>("Plugins"));
+			Host.Initialise(persistentStore.GetSubsection("Plugins"));
 			Host.Instance.PluginLoad += OnPluginLoad;
 			Host.Instance.Load();
