That is what i have done in user context but still failing
Add logging and troubleshooting statements to your script to capture errors and verify that your variables contain the data that you think they have.
Save a C:\temp\Uninstall.ps1 script on the target PC and have Powershell execute the .ps1 file. Use a folder that has "everyone full control".
Start-Transcript C:\Temp\Uninstall.log
"This process is executing as the following account."
whoami.exe
$appx = Get-AppxPackage -User alfred.cb.lim
"We found {0} packages." -f $appx.count
$ECA = $appx | Where-Object {$_.Name-match ".Microsoft.ECApp*.*"}
"We found {0} ECApp packages." -f $ECA.count
$ECA | Remove-AppxPackage
Stop-Transcript
Review the transcript log file.
Maybe you should just uninstall it for all users? "Get-AppxPackage -Allusers".