about the technical details of i2c I don’t know more than I already told you, and the Mono code is far too complicated for me to understand, so what you are actually doing in your C# source is far beyond me.
My skills just fit to use NXC and Sketch C.
In Sketch C I just have to use wire.write() and wire.read(),
and for display output I just use Serial.write() or TextOut() -
that’s it, and that’s why I can use both NXC and Sketch (and no Mono at all).
So for Mono you would need professional Mono helpers