I guess there's a way since Mechanik and Tweak do it so how would I go about monitoring a memory value continuously but still allowing the rest of my app to be used? I tried a standard loop but, as I thought, it won't let me do anything else in the app.
What do you mean monitoring a memory value? Is there a variable to you are trying to see when it changes? or is it some external value (like memory used)
For the first, you'll want to just make the value a property on a class so that you get a way to intercept it being changed, at which time you can fire off an event to notify anyone who cares
For the second, either DarkTimes or Leifde's suggestion would work. A timer would get fired on its own thread (from the threadpool) every so often to check, while using a thread would required that you keep a loop running in the thread to check the value (and don't forget to sleep or you'll drive your CPU usage needlessly high)