Hi Rick,
Sorry for the delayed response.
Sounds like a lot is happening in Task1 ("... a few thousand lines of code..."); are you using semaphores to block Task 1 within this code? Can you post the instrumented I2C driver logs? These might help determine what is going on with communication. Additionally, what are the priorities for Task 1 and Task 2?
Thanks,
Emmanuel