I managed to "fix" the issue by reducing my max vertex buffer size. I noticed that the size of the input layout didn't really matter. It was more to do with the stride size (size of my CPU vertex struct).
But this is very much still magic for me as I don't understand how the maximum vertex buffer size is related to stride size. This also doesn't explain why I had still high frame rates before a device reset with the original vertex buffer sizes and only lost fps after the device reset. (I don't change vertex buffer sizes during device resets).
It's no longer a pressing issue but I'm curious as to what's going on here.
My textures are 400 by 400 each at the moment with only 1 MipLevel. They have DXGI_FORMAT_R32G32B32A32_FLOAT format. If I make them any larger the program will go into the unstable state without any other graphic app running.
Regarding my references I create a fixed number (205) references in total and do not create more after that. I release on program exit along with the textures and this process has been tested and does indeed free all 205 references and textures.
Sorry for the mixup. I do plan to draw on them during runtime; I just did not implement that part of the code yet so at this point I am not mapping them after initialization. I would like to figure this problem out first before I continue.
My goal here is simply to have a large 3D surface that the user can draw on (with the mouse). It's way to large for a single texture to give me the quality I need so I need to do this dance with several dynamic textures. It's the best method I can come up with at the moment.
Thanks for the quick reply. I only map each texture on creation and I create and initialize one texture each frame until all have been completed, after which, I do not map anything for the rest of the app's runtime. I will try creating one each 10 frames and report back but for now my question remains as to why my memory usage grows when I start another application well after all my initializations and mappings have been done and my app has been running for some time with a low stable memory usage.
Also, if I close the second application my memory usage never decreases.
As additional information, I create one resource for each of my textures at the same time I create the textures. I then store pointers for each in arrays. As the user moves the camera along the surface I load only 10 (out of 205) textures into the Effects file by choosing the appropriate resource pointers from the array. I mention this because memory usage (once in the unstable state) grows as I move the camera over the surface.