I understand your point but QlikView loads the data for each application/QVW file. Although, once the data is loaded then for next user it will not reload the data again...rather it will use the existing data set and QlikView has very clever caching algorithm and it effeciently uses the existing calculation. However, I thought I would share my understanding about the architecture...hope this will be useful.
The data records are read into the memory, so that all the processing of data may be done through memory. I am sure you know this bit. QlikView treats all the data as Data Element Type (Columns / Fields) and Data Element Values (Values / Records). So each different data element value of each data element type is assigned a binary code and the data records are stored in binary-coded form and they are also sorted. By using the binary coding, very quick searches can be done on the tables. Also, QlikView removes the redundant information information and reduces the amount of data. However, the redundant information in stored as seperately with the frequencies for each unique data element value and across each data element type. When user makes a selection on data element values then the implied selection (possible values) are kept track seperately to present them to the user. By this process QlikView can perform rapid linear searches.
I understand this is not in detail but just a quick overview. I hope this helps!