Sometimes when you type it gets stuck until it populates the list, maybe finishing reading icons, not sure.
When it's stuck it'll not update the typing until it's done, which can take some seconds at worst.
I understand it'll need to read from the disk and load all icons, but maybe if it could do that in another thread or similar so the typing won't be affected and whole program freezes. :)
At first glance I have only a tiny clue, however I can say for sure that your assumption is incorrect because icons are read and loaded in an asynchronous fashion by a different thread. Definitely not the bottleneck here.
What is the type of your D: drive? (HDD, SSD, network, ...)
I assume the last line D:-= Games =-\Steam\ has a typo?
Did you install additional packages?
Would you mind sharing the full content of your Keypirinha.ini file(s) so I can perform some tests in similar conditions?
It's very probably due to the check made to filter out the matching FILE history items that do not exist at search time.
The best workaround to this would be to add an exclude_nonexistent_local_files setting (same than the existing exclude_nonexistent_remote_files one, but for local files), so users with slower drives do not get affected by the filter-out process, but they would get non-existent files in the results list though.
Yes, both settings are explained in the inline doc.
Try with the following config for your tests:
[app]exclude_nonexistent_local_files = no
exclude_nonexistent_remote_files = no
Bear in mind that there may be some external application that interfere as well. Typically, an antivirus that locks the read-access to a file during its analysis, in which case KP has to wait for the file to be unlocked.