If enabled dithering is applied whenever bit depth conversions occur in the engine, during playback as well as when bouncing a mix.
Since the engine is always running in floating point mode, dithering typically takes place just before outputting to the audio driver. This is because most drivers require 24 or 16 bit integer sample buffers. For a driver that handles float formats no dithering would take place.
The same occurs when exporting audio to integer wave formats - we dither before writing to the wave file.