Спасибо за ответы. Была идея насчет реализации общего мониторинга по памяти в приложении, судя по всему его реализация здесь будет оптимальна. Осталось только техническая сторона частота опроса и прочее, в случае выделения большого блока памяти превышающего предел памяти.
На счет проверки почему GС не понял. Но утечка именно при начальном доступе(вызов функций) в длл. Может можно её полностью времено выгружать из памяти?
Например, для доступа используется класс.
public class DLL{
....
[DllImport(VIDEODLL, EntryPoint = "#6", CallingConvention = CallingConvention.Cdecl)]
public static extern byte dllTestConnection(string address); // проверка соединения с сервером.
....
}