Learning boostBoost is discussed here. As for language features that are useful? All of them. C++ is a dangerous language to use if you don't know enough of it. RAIIRAII, functors/function objects and templates probably cover the most important aspects.
Boost is designed similarly to the STL, so knowing your standard library is essential. Boost itself uses a lot of template metaprogramming, but as a library user, you won't often need that (unless you start playing with Boost.MPLBoost.MPL)
Bugs related to memory management are a good indicator that it's C++, rather than Boost, and you need to brush up on. The techniques for handling memory safely are well known, and not specific to Boost. (With the obvious exception of Boost's smart pointers).) RAII is probably the most important concept to understand to deal with this kind of issues.