How often do you restart a heavily-utilized Windows Server 2008R2 Remote Desktop Server (VM)?
Solution 1:
Generally, I'm opposed to the idea that a Windows server should be rebooted on a regular schedule EXCEPT in relation to TS/RDS servers. We reboot ours every day. It clears up old sessions, releases in use resources (CPU, RAM, file handles, etc.), so my opinion and suggestion would be that you do configure a daily scheduled reboot of your RDS servers.
Note that this answer is only my opinion. There's no statement of fact here.
Solution 2:
Users refuse to log off instead of disconnect
Setup the appropriate group policies to auto-logoff them. You can separately control an idle timeout and logoff. That should certainly minimize some of the issue during the day.
I restart my 3 server TS farm daily at 3:00am. Because, yes crap can build up over time when you have lots of people using a single system. We have 3 servers shared between 60-90 people depending on the day, time of year.
I probably don't need to reboot this frequently, but we started using terminal services with Windows 2000, and our printer drivers were horrible at the time. The print spooler would basically fail after a day or two of being up. So we started rebooting nightly since we didn't have any leverage to get the Printer manufactures to fix their crappy drivers.