fix: handle call of disposed native functions as arguments correctly + feature: call native functions directly without marshalling