For the record, I have my own write-up here (with links to further reading at the end):
Suppose your baud rate is 9600 bps. That means 1 bit is about 100 us. Suppose that your cabling has maybe 66% velocity ratio. That's about 200 m per a microsecond. That's 1 km in 5 us, or a reflection round-trip of 10 us. So... the first reflection will be back in 10 us. Depending on where the "sampling point" is within a bit duration in your UART (some UART's have multiple sampling points per bit and make a "quorum consensus" of some sort) the reflection in 10 % of bit length may or may not be a problem. Also, the reflection tends to fade with distance... so does useful bandwidth :-)
Reflections are one thing, and a common gnd potential is another. If your ground potentials wobble about a lot, and your transceivers are not isolated, the RX part of the transceiver may see voltages outside of its working range (about -3V to +7V typical) and may garble random bits. Worse yet, if the transmission line goes through an outdoor environment, it may face atmospheric electricity. Providing a common reference ground (one more wire or shield in the TML) is always a good idea, but it may not be enough to "unify" local grounds at very distant locations. Consider using isolated transceivers (to make the normal ground wobble irrelevant) and consider adding surge arrestors on top of that. Arrestors combined with transceiver isolation are as good as it gets. Except that a good arrestor (dual-stage cascaded, with spark chambers and transils) can be more expensive than an SFP transceiver, and an optical cable is not significantly more expensive compared to decent twisted-pair copper. Yeah right - SFP's are no good for RS485. I'm mentioning this just in case Ethernet was an option.