Most of the sections of my application are functioning as I want it to, except these two (step 3 and step 4).
I'm unable to stop advertising using ble_advertising_start(BLE_ADV_MODE_IDLE); and
sd_ble_gap_adv_stop(); as per
System OFF mode gives current consumption of around 1.6mA (unlike the expected 0.6uA). Even after resetting the device to get it out of debug mode (removing battery as well as using nrfjprog --pinreset).
Including a small delay before System Off command,solved the problem. Now everything stops on System Off. (even advertising stops without using sd_ble_gap_adv_stop();)