I tried using PyVISA before giving up on RS-232 and getting a VXI-11/GPIB gateway.
PyVISA worked, but I didn't feel like I gained much, if anything, from the added complexity of the VISA layer since both RS-232 and VXI-11 were available using basic OS level functionality (serial drivers and/or TCP/IP sockets) rather than requiring a hardware specific driver like a GPIB card or USB adapter.
One issue I ran into with the Keithley VISA drivers was that the really only worked at ~9600 baud or so, while raw serial access seemed reliable at much higher rates. Also, as has been mentioned, for many hardware/firmware version combinations, the Keithley 2000 has a problem that causes serial communication to die sporadically but frequently unless the RTS pin is disconnected somehow. Given that the K2015 seems to share the same motherboard as the K2000, I'd expect this to be an issue with the K2015 as well.
I didn't see any obvious indication of general python memory leaks when I was running my logging script, but I'm also using a different OS and relying on different libraries. Looking at the code you published in your other topic, it looks like you don't save things to disk until you've filled a worksheet, which means it sits in memory until then. Furthermore, you don't explicitly close the worksheet/workbook when you are done with them. I'd think they'd get garbage collected at some point, but perhaps not.