PostgreSQL Continuous Archiving & Point-in-Time Recovery in combination with netbackup
There is one crucial thing wrong here: you never, ever delete files from pg_wal.
You need to configure archive_mode = on and set archive_command so that PostgreSQL archives transaction log files when they have been completed.
Much simpler than creating a pg_basebackup on a local disk and then backing that up would be to backup the data directory directly. You have to get PostgreSQL into backup mode first (pg_start_backup) and end backup mode once you are done backing up files (pg_stop_backup). See the documentation for more.