Yes and no.
If you are not using freeRTOS, all the WiFi code will be ran on core0 and all the code you write will be ran off of core 1. freeRTOS can be used to put all the code on one core. Though putting all the code onto one core will not result in the other core being shut off, the other core will have nothing to do, decreasing your power use, slowing up your process, and decreasing RAM availability.
Why are you unable to use a sleep more?
The ESP32 has a 3rd core, the ULP core which is the Ultra Low Power Core. The ULP core can be ran at anytime, even during deep sleep modes, as away to monitor the various GPIO pins.
The ULP can be used in the Arduino IDE. The ULP Coprocessor (Legacy GNU Make). https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/ulp-legacy.html. If you have used MASM before then programming the ULP core is ‘simple.’
In the Arduino IDE, you will get 2048 32 bit address of program space for the ULP tasking. You should write down each instruction and its memory address, on paper, so you can keep track of any variable placements.