The thing to remember is that the Crystal and BO SDKs are based on COM objects, which can cause memory leaks if not handled correctly. So, when possible, you should either enclose calls to a report in the SDK with a "using" clause, or explicitly call .dispose() on the report when you're done with it.
-Dell