Normalmente si algo no se cumple lo adecuado es que regreses al la pagina del formulario e informes de los errores, tu no lo estas haciendo. Solo imprimes un aviso y el script se sigue ejecutando hasta terminar y eso incluye que se suba el archivo.
Para evitar esto necesitas obligar a que el script termine en el momento que no se cumple la condición, y como te comente lo mas usual es redirigir la petición de regreso al formulario eso lo haces mediante el uso de la función
header
De forma general debes de hacer algo como esto.
Código PHP:
Ver originalfunction redirect($url) {
'Location: %s',
$url
));
};
if (filesize($_FILES['curriculo']['tmp_name']) > 5000000) { redirect('form.php');
}