Thanks for the replay.
Yes, this is github issue is known to me and I did manage to make local changes to I2C API, which allows calling i2c.free() to release I2C.
will look into it again maybe I have missed something. But still, it is odd, that I can be deep sleeping for 20+ mins and then suddenly after a single uplink we are at 3.3mA average.
I have added
void I2C::free(){
i2c_free(&_i2c);
}
to mbed-os/I2C.cpp at master · ARMmbed/mbed-os · GitHub file