Update: I have flashed the v11 kernel on my phone (6.0.1 MM) using TWRP install. Did not wipe any data. Rebooted the system. Seems like nothing has changed. The PWM flicker is still there.
Update 2: I flashed the kernel again, this time i wiped the cache and dalvik cache before and after the installation of kernel zip file. Still no change. The screen still flickers even though system shows kernel already installed (see screenshot on the left - flicker bands visible). I think the combination of MM stock rom version and kernel version doesn't go together.
Update 3: Finally got it to work. I installed Nougat stock rom from sam mobile. I chose the stock rom with the exact software build that the PWM-free kernel is based on, which is Nougat 7.0 (G935FXXU1DQB7). Flashed the stock Nougat 7.0 via Odin. This combination works - Flashed TWRP 3.0.2-4, then installed no verity v5.1, then installed Updated-SuperSU 2.82 (stable), then installed v14 of the flicker free kernel, - no more PWM screen flickering (see screenshot - no more flicker bands). But somehow the phone becomes unrooted. Installed latest Magisk v13.1, the phone is now rooted, and safetynet passed. Keep getting error from Samsung's security app "unauthorised action has been detected. Restart your phone to undo any unauthorise changes". I downloaded App Disabler from Play store and disabled the SecurityAgent. No more nagging error message.