WiFi.disconnect() not behaving as expected

Did you find a solution to this problem?

In the project I'm working on I want my UNO to only activate the wifi shield once a sensor has registered a change. When the wifi is active I want to POST a message to a server and then disconnect. The code I have for disconnecting from the wifi shield is :

client.stop();
WiFi.disconnect();
        
if (client.connected())
{
 Serial.println("Client is still connected");
}
else
{
 Serial.println("Client is not connected");
}

When this is executed it reports that the client is not connected but the LINK LED on the wifi shield remains on, which tells me that the wifi shield has not been disconnected!

I'm amazed that more people aren't complaining about this issue, as surely there are loads of us who want our projects to be as energy efficient as possible.