I'm aware that with .net 4.5 there is the await, async keywords that allows for easy calling of async methods. I 'm currently studying how to make async calls in C# 4.0. An example I want to is to make an async call where the datagrid is being databind.
If you could provide me some links I would really appreciate it.
Have a look at using Tasks, this was available in .Net 4 and should help you. A simple example might look like this:
For more, have a look here
http://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v=vs.100).aspx
Use the Task.ContinueWith which basically executes your action once the task completes.
Some examples which could be useful:
http://msdn.microsoft.com/en-us/library/dd784422.aspx
We made some tool class for executing async operations.
What these methods really do: execute action asynchronously and then posts the execution of the completition accordingly to the synchronization context.
We made this as the wrapper of the TPL to easily use it iside WPF when we call long running operations. This class also has analogues for actions which can be cancelled, not just abandoned.