It's not the peripheral because I tried on LightBlue and BLE Explorer apps it doesn't disconnect.
Let's take another example: peripheral goes out of range and connection get disconnected and then it comes back in range. If I click on the "Scan and Connect" button it starts scanning and connects fine but if I add manager.scan(Null) command as shown above inside Disconnected event it does not initiate scanning. I am missing something here that needs to be done prior to re-scan?