When you are inside an async method, you should have received a cancellation token as a parameter. If you did, you can check the cancellation state (if cancellation has been requested by the caller) and act accordingly (throw an exception or break the operation) and pass on this token to the async methods you call.
If you did not receive a token, you may construct it yourself (as you did) and pass that on. In that case you are in control of the token source and can cancel the whole operation yourself.
If you do not want to make use of the cancel feature, you do not have to call Cancel - it depends on the nature of the method you are writing. You may want to cancel a long-running async method based on user input or a timer. This is just an option offered by cancelable async methods (like LoadAsync in your question).
https://learn.microsoft.com/en-us/dotnet/standard/parallel-programming/task-cancellation
In the latter case make sure you dispose the token source - preferably using a using block.