For the most part I believe the engine will delete stuff for you. Meshes, textures and nodes are reference counted by the engine. When a node is no longer being used it gets automatically deleted. Optionally, you can have a mesh, node etc. delete it's self by calling the drop( ) method of it's IUnknown interface. This is generally a bad idea though, since you never know if it's being referenced still or not.
Thats how I declare mine, and sirshane said let the engine delete stuff for you except for a few select types that can be dropped when you're done. Check out the API and it will tell you if it should be dropped or not.
As stated in the API docs, you have to drop all objects you got from a create-Method. Pointers which are results of add-Methods do not need to be dropped.