If the reference count on your textures is 1, and you call release on your COM pointer, then that's the best you can do. If there is an internal driver bug that keeps the memory floating around, then that should be handled / corrected by AMD... Have you reported the behavior? Or have you tried to capture some details with the graphics debugger / PIX? You will have to provide a repro case to them for there to be any chance to get the issue fixed.
One other point - just because it works on NVidia cards doesn't mean that you are in the clear. Drivers can sometimes be more lenient than they are supposed to be, so it is possible that you are actually doing something incorrectly but the NV drivers happen to handle it in a desired manner.
Even so, if you are using shared resources between D3D9 and D3D11, then my guess is that you are probably right that there is a driver issue in handling the memory.