I'm thinking about creating an application (or refactoring other in-house software) which could work effectively on a TS server (which from my knowledge means that every instance shares the core code/data in memory). Does the .NET framework actually support it or would I need to use some technique/technology/toolkit?
You don't need to do anything special to run under Terminal Services.
Just make sure that your program can run under multiple users simultaneously, and that it looks good at lower color depths.