개인적으로 화면처리하는 프로그램을 자주 만드는 경험으로써 메모르누수는 언제나 큰 버그였다.
맘먹고 돌려보니 FromHbitmap에서 메모리누수가 일어나는걸 알 수 있었다.
검색해보니 이미 많은 방법이 있었고 그 중 하나를 인용하겠다.
Image img = null;
try {
img = Image.FromHbitmap(hBitmap);
}finally{
DeleteObject(hBitmap);
img.Dispose();
}
[DllImport("gdi32.dll", EntryPoint = "DeleteObject")]
public static extern IntPtr DeleteObject(IntPtr hDc);
출저 : http://jianmingli.com/wp/?p=62