I need to protect my house from Corruption/Hallow spread, will this shaft suffice?
While the gap plus the blocks will prevent direct spreading of corruption/hallow into your house, corruption also grows vines that can potentially breach the gap from the surface. A sure proof method is to extend the wall above ground at least 6-8 tiles. You can build stairs/rope to scale the wall in earlier phases of the game before you can jump/fly over it.
Im not sure if it will be enough to protect your house. Three blocks are enough in the underground, but you shouldn't forget about the corrupted vines. You should think about increasing the shaft size to more than six blocks or to fill the air with uncorruptable blocks. To be sure that your NPCs doesn't leave your house, I would build your shaft a bit more away from your house. This will also reserve you building place which you maybe want to use later in the game.
In terms of underground spread, yes, you are okay. At least three blocks of air space are needed underground to stop the spread of corruption/crimson/hallow blocks. You've also lined your tunnel with wood, which will prevent corrupted grass from growing underground.
However, when looking at your above-ground defenses, you may suffer there. Corrupted Vines will do their best to snake their way over your defenses, infecting the grass and blocks on your home plot.
It may be in your best interest to extend your barriers farther beyond your house. Even if your little plot is safe, if both sides are corrupted/hallowed, the monsters will still spawn uncomfortably close to your house.
As the other answers have already stated, you should extend your barrier upwards by a few blocks to prevent Corruption/Crimson vines/thorns from crossing the gap.
In addition, you should also put the ends of your barrier further away from your main housing area. It doesn't matter for Hallow, but if Corruption/Crimson gets too close to NPC housing, the houses will become invalid and the NPCs will not respawn if they happen to die.