Resources
In general, you should aim for minimal resource usage. This implies releasing interface pointers as soon as you no longer need them. When using a handle class, it can be beneficial to introduce additional { ... } blocks to enforce the destruction of the handle, and release of the corresponding interface pointer, at the end of the block.