c# 使用api函数后,怎么释放?

** [DllImport("kernel32.dll", CharSet = CharSet.Auto)]**
private static extern uint GetPrivateProfileSectionNames(IntPtr lpszReturnBuffer, uint nSize, string lpFileName);

  **  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]**
    private static extern uint GetPrivateProfileSection(string lpAppName, IntPtr lpReturnedString, uint nSize, string lpFileName);

客户要求服务器获取的数据 不断写入ini文件里,方便客户前端不断调用ini里的数据,我使用api函数不断写ini,但发现进程内存不断增加,这时候调用api函数 应该考虑释放,不会GC,请教怎么释放??

参考。
这篇文章。

        [DllImport("kernel32.dll")]
        public static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
        public static void GarbageCollect()
        {
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();
        }
        public static void FlushMemory()
        {
            GarbageCollect();
            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
            }
        }

试一下SetProcessWorkingSetSize() 是否可以挂起线程,并强制回收。