Hii Luiey Ichigo,
I have also developed POS application and WPF many times consumes much memory even when idle.
Even by following the above links(Provided in Solution 1),sometime a part of memory is not cleared(i.e. memory leak remains).
Please find the code below and use it in some common space like where window is unloaded.
This will remove your much part of Memory but will not clear Memory Leak left by your code(like this will not remove your event handlers if you have not unregistered them but if you open report viewer and call this code after closing report viewer you may find the difference).
Declare this
[DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
internal static extern bool SetProcessWorkingSetSize(IntPtr pProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
[DllImport("KERNEL32.DLL", EntryPoint = "GetCurrentProcess", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
internal static extern IntPtr GetCurrentProcess();
Consume this code
IntPtr pHandle = GetCurrentProcess();
SetProcessWorkingSetSize(pHandle, -1, -1);
Please mark this as answer if your prblem is solved.
Thanks!!!