I meant continuously filling the I2C bus by the Master. The ATmega328P has no buffer for the Serial input and also no buffer for the I2C data. Therefor the interrupt (inside the Wire library) runs for every byte, that takes some time. From what I remember from my test, a delay of 1 millisecond was enough between the I2C sessions from the Master or a few milliseconds delay if the Master has nothing else to do.
Suppose a button bounces, and that information is send over I2C without any debouncing. Then things can go hairy.
Another thing is that some libraries turn off the interrupts for some time (DHT, Neopixel, FastLED, OneWire, and so on), other libraries take over the Arduino (SoftwareSerial). The Arduino as a Slave holds down the SCL signal, that puts the Master on hold, so it should be no problem in theory, but with a stress test for the I2C bus it is not hard to get into trouble.
There is more to this.
A Arduino as a Slave does not wait for something. A Arduino as a Master waits during Wire.endTransmission() and during Wire.requestFrom() and waits as long as the Slave keeps SCL low. That means that in some situations, the Master gets into trouble before the Slave.