I'm considering putting my rendering, audio output, and input on different app domains so that no (memory) sharing might accidentally occur among them. Would it make sense to have one instance of OpenTK exist solely for rendering in one app domain, one instance of OpenTK exist solely for audio output, and so on for a single application? If so, would that work on all the various platforms?
The reason I'm considering using different app domains instead of simply different threads is to ensure that no (memory) sharing takes place among them. I've been in .Net for a while, and I know how easy it is to accidentally call static methods that opaquely share memory space underneath... Might be worth avoiding entirely with this approach.