Android Studio still memory leak even release()

I am working on OpenCV in Android Studio. I convert RGB to HSV and find that app crash after running 30 seconds. I found that it is because of memory leak and someone say after adding .release() and System.gc(); will be ok. However, I still get memory leak after adding these two lines.

The memory profile picture

My code

public class MainActivity extends CameraActivity {

    CameraBridgeViewBase cameraBridgeViewBase;

    Mat bwIMG;
    cameraBridgeViewBase = findViewById(R.id.cameraViewer);
    cameraBridgeViewBase.setCvCameraViewListener(new CameraBridgeViewBase.CvCameraViewListener2() {
        @Override
        public void onCameraViewStarted(int width, int height) {

        }

        @Override
        public void onCameraViewStopped() {

        }

        @Override
        public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
            Mat image = inputFrame.rgba();
            bwIMG = new Mat();
            bwIMG.release();
            System.gc();
            Imgproc.cvtColor(image, bwIMG, COLOR_RGB2HSV);
            image.release();
            return bwIMG;
        }
    });
  }
}

It is fine when I comment the cvtColor line. How can I release the memory? Thanks.