I don't have a citation for you. It was asked on this forum and I learned from that. nodes aren't fond of keeping around transactions that can't be mined because the fee is too small. The only reason it sticks around is because -qt keeps broadcasting it over and over again in vain. I can tell you that pywallet supports removing transactions from wallet.dat file for this very reason:
https://bitcointalk.org/index.php?topic=35214.0What I am worried about is that the
relaying nodes (not mining nodes) will keep broadcasting the transaction forever, and thus - it will be stuck in a limbo.
However you
should be able to fix such transaction using Raw Transactions API by rebroadcasting it with a (larger) fee.
Somebody with greater knowledge of Bitcoin-QT code should step in here to clarify that.