Data loss of delayed buffers

On a Windows 10 with RME interface (ADI 648) I am developing a real-time audio analysis algorithm. I implemented an audio input receiver which works on the successively arriving buffers. It does not use sample buffers for audio playback, but only for real-time analysis. As it is my first bigger application using Juce and I do not have much experience with audio programming in C++, I would like to verify my assumptions about some basic facts:
I can only detect data loss by checking the time difference between audio input receiver calls through the juce audio driver. Data dropouts only occur if the processing time of one buffer overlaps with the processing time of the next buffer, e.g. the thread running the audio input receiver causes a delay between successive incoming buffers, or the audio input receiver takes more time to process a buffer than the time difference between successive buffers. If the delay of one buffer is less than the time difference between successively received buffers minus the algorithm’s calculation time, the data is delayed but not dropped? For example, if the time difference between 2 buffers is basically 10 ms, a buffer is delayed to 17 ms and the analysis takes 2 ms, the data will be delayed but will not be dropped because the audio input receiver can finish its work before the next buffer arrives. Is this correct?