It's only "offline" with respect to computation (CPU usage) but not necessarily with respect to sample I/O. TLDR: I generally assume I can only freeze/bounce the same number of instruments as I can play in real-time.
A more reasoned answer:
When playing in real-time, the DAW will display a "system overload" message if plugins don't process audio quickly enough to produce a continuous audio signal. "Offline", in this case, means non-real-time: the plugins can take longer process audio, and the DAW will wait. This lets you render audio from a synth or effect that would be too CPU-intensive to run in real-time.
The problem is that sample players are (generally!) limited by I/O - loading samples - not CPU. Yet they (generally!) don't wait for the sample data to arrive before emitting audio. Instead, they keep delivering audio to the DAW on time, and build it out of whatever they've got: you don't get a "system overload", but the audio may contain crackles and pops from incompletely-loaded samples cutting in and out.
So, unless your sample player has a special mode for offline bounces - anyone know any examples? - frozen audio will contain those same crackling sounds when you bounce/freeze more instruments than your memory/disk can manage.