First of all, you need to double-check how you're measuring video memory in use. That may well be giving you misleading information.
Then you need to check your objects lifetimes. As D3D is COM-based, and as COM manages lifetimes by reference counts, this kind of problem is normally caused by something somewhere continuing to hold a reference to an object. Finding what that something is may not be so trivial, however.
D3D11 provides the ID3D11DeviceContext::ClearState call, which will unbind all state from your context, so using this before you destroy your objects can help; in D3D11 an object bound to the pipeline (e.g via PSSetShaderResources) will cause the context to hold a reference to that object (see the documentation for the various Set calls) so calling Release on it's own won't be enough to reduce the reference count to 0 and cause the object to be destroyed.
Alternatively, and if ClearState seems too drastic (the intention behind it's design seems to be to just use it before final shutdown to release any such outstanding references) you can always unbind that object, e.g by binding a different object in it's place, or by binding NULL.
Another possible cause is that you have other associated objects that you do not destroy. E.g you'll typically have a texture and one or more views (in your case a Shader Resource View and a Render Target View); if you Release the texture but not the view(s) (or the other way around) you'll leak.