code: @Override
      public void release(Pointer pointer, MemoryKind kind) {
          if (kind == MemoryKind.DEVICE) {
              NativeOpsHolder.getInstance().getDeviceNativeOps().freeDevice(pointer, 0);
              pointer.setNull();
          } else if (kind == MemoryKind.HOST) {
              NativeOpsHolder.getInstance().getDeviceNativeOps().freeHost(pointer);
              pointer.setNull();
          }
      }
docs: This method releases previously allocated memory chunk
  
  @param pointer
  @param kind
  @return