I had used Breadwallet for a long time, but their fee was outrageous ($17 fees for $15 transactions)
Fees do not depend on the wallet you're using or the amount you're sending but on your transaction size (inputs).
If the $15 you want to send are made up of ~$1 inputs then obviously the fees would be large as the number of inputs required are much.
1). Giving the fact that I lost my bitcoin (being stuck in GreenWallet with no Mnemonic password). High fees on breadwallet, I now contemplate in making payment directly from my HW wallet - is it a good pratice ?
Not a bad practice.
Hardware wallets are supposed to be a gap between paper wallets for security and hot wallets for convenience, so you can use them to make payments.
As long as you verify the address you're sending to on your ledger device.
2). What about using the Bitcoin core node wallet ? I've been running a bitcoin core node, but I haven't gotten time to learn blockchain basic programming. I could create a wallet on my bitcoin blockchain node. But I read some where, that it's not good practice to run my bitcoins wallet on bitcoin node for security reason, until I become sufficient in blockchain programming...
Any one has any advice ? Thank you in advance for your input.
You don't need to program anything to use Core as a wallet.
Bitcoin Core by default is a full node AND a wallet.
The security advice against using Core as a wallet is that:
1.) You're not running core on a local machine but a VPS so you shouldn't use that instance as a wallet.
2) If you're running Windows.
Windows is terribly insecure so you need to take precautions not to be infected by malware that will steal your bitcoins.