Попробуйте изменить объявление tidyBufAlloc на:
[DllImport("libtidy.dll", CharSet = CharSet.Ansi)]
private static extern int tidyBufAlloc(ref TidyBuffer Buffer, int allocSize);
Обратите внимание на дополнение CharSet.Ansi и "int allocSize" (вместо uint).
Также, посмотрите этот пример кода для примера использования HTML Tidy в C #.
В вашем примере, если inputHTML большой, скажем, 50K, inputArray и inputArray2 также будут иметь размер 50K каждый.
Затем вы также пытаетесь выделить 65 КБ в вызове tidyBufAlloc.
Если указатель не инициализирован правильно, вполне возможно, что используется случайный адрес кучи .NET. Следовательно, происходит перезапись части или всей кажущейся не связанной переменной / буфера. Вероятно, вам просто повезло, или вы уже выделили большие буферы, что вы не перезаписываете блок кода, который может вызвать ошибку доступа к недействительной памяти.