That's an almost impossibly complicated question to answer, since it depends on so many variables—how big your archive is, how big the various archive indexes are, how much physical RAM you have, how many processor cores you have, and so on.
In broad strokes, QRecall will use as much memory as it can. There are several large data structures that QRecall creates during a capture. The larger these cache and lookup tables are, the more efficiently QRecall can preform the capture. So it can be agressive about allocating very large tables, but it tries to limit their size so they don't exceed more than 75% of your physical RAM. (If the tables get too large they get swapped out to the VM backing store, which significantly reduces the efficiency of having created a large table in the first place. So it's a delicate balance; too small and the capture is slow, too big and the capture is slow.)
If you feel QRecall is using too much RAM (or would like it to use more), you can adjust QRecall's memory usage by overriding the amount of physical RAM QRecall thinks your system has. To do this, set the
QRPhysicalMemoryMB advanced setting to the number of megabytes of RAM QRecall will try to live within. Set it using the Terminal command, like this:
defaults write com.qrecall.client QRPhysicalMemoryMB -integer 2048
Note that QRecall never tries to use more than 6GB of RAM, regardless of how much physical RAM you have (or what the QRPhysicalMemoryMB setting is).