I ran into that problem with my own programs before.
Reading a folder via ftp takes "hours" if there are some more files than 100 or 200 inside not to mention several 1000.
I solved it with uploading a scandir-script to the folder, create the directory list on the server (takes less than a second), upload the directory list and delete script and list on the server.
Instead of 4 or 5 minutes waiting I have the dirlist in 2 - 3 seconds available.
Maybe you can add this useful feature to WinSCP?
It is just a 2 - 10 lines script, a checkbox in WinSCP to allow using that feature and changing the way WinSCP works.
At present every some seconds WinSCP looks for changes - takes 4 - 5 Minutes every time on certain folders. Not useful.
When the checkbox is set the check would take only seconds.
Same happens, when you end the program in a big folder. Starting the next session takes Minutes until the folder is read and you can start to work. All solved with the script feature.