What are the reasons it could fail?  Any idea?

Short rule of thumb that works pretty well is:

a.) any problem should never crash the app
b.) when in doubt, disable metrics