Thanks for reply. I might be correct after all. :) However, it's good practise to release resources explicitly Your point is the very good manner in most case, I know, especially some system handles (like kernel objects) must explicitly release in the code before progaram exits. So sometimes I use smart pointers for managing such handles. ;)