Undoing accidental commit
MonoEmbedding double return types are now checked for exception before unboxing
Properly checking for exceptions before unboxing result of invoke
Clean up resources before throwing exception to avoid memory leak