We just tested purgefx, it is not unloading plugins, and this is what I saw when I ran it from the console:
Failed to call hook 'CmdStartPurgeChat' on plugin 'PurgeFX v1.2.3' (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.PurgeFX.UpdatePurgeStatus () [0x000c6] in <a38f5a61b10741dcac6ebfff23e86a23>:0
at Oxide.Plugins.PurgeFX.StartPurge (System.Boolean forced) [0x0010f] in <a38f5a61b10741dcac6ebfff23e86a23>:0
at Oxide.Plugins.PurgeFX.CmdStartPurgeChat (BasePlayer player, System.String command, System.String[] args) [0x00075] in <a38f5a61b10741dcac6ebfff23e86a23>:0
at Oxide.Plugins.PurgeFX.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00646] in <a38f5a61b10741dcac6ebfff23e86a23>:0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <42f9bedc659b4f4786eb778d3cd58968>:0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000de] in <15f61ddda771464d8246ebdce8ff4811>:0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <15f61ddda771464d8246ebdce8ff4811>:0