Preheat oven to 350 degrees F. Add Nilla wafers to a food processor and pulse until crumbs (or crush them in a resealable bag, with a rolling pin). Add cookie crumbs to a bowl and stir in melted butter. Use the back of a measuring cup to press mixture firmly into the bottom and up the sides of a 9'' pie plate. Bake for 10 minutes. Allow to cool completely before adding the custard filling.
Mix egg yolks and cornstarch in a bowl until smooth. Set aside. To a large saucepan, add sugar, salt and milk to a large, heavy saucepan and whisk to combine. Cook over medium heat, stirring often, until it comes to a simmer.
Spoon a big ladleful of simmering milk out of the pot, and very slowly whisk the milk into the egg yolk mixture, whisking constantly as you pour a slow steady stream, to temper the eggs (warm them up slowly, without scrambling them).
Pour the tempered egg mixture into the saucepan, whisking to incorporate. Cook, stirring constantly over medium heat, until the mixture has thickened (thick enough to coat the back of a spoon).
Remove from heat and stir in butter and vanilla extract. Strain pudding through a fine mesh sieve, into a storage container. Lay a piece of plastic wrap directly over the pudding to prevent a skin from forming. Allow to cool for 30 minutes.
Slice bananas into the bottom of the nilla wafer crust. Pour pudding over the top. Place a small piece of plastic wrap directly on the surface of the pudding, so a skin doesn't form. Refrigerate for at least 4-6 hours.
Add heavy cream and powdered sugar to a mixing bowl and whip until peaks form. Smooth whipped cream over the top of the pie.
Refrigerate for at least 4-6 hours before serving.