The behavior you are seeing is partly caused by Sitefinity and partly by ASP.NET web application projects. On the Sitefinity part you can disable page (output) caching and client-side caching from the Sitefinity configurations.
Let me explain what is happening on the ASP.NET part. Since Sitefinity uses the ASP.NET compiler to compile pages, templates and controls you need to build the application in order for ASP.NET to invalidate the already compiled version of the particular control you are changing. This is different from Sitefinity 3.x as we did not use the ASP.NET compiler for pages, templates and controls. This caused pages and other resources to built on every request, which I doubt that you would want that in an application. What you have to do is when changing user controls, build the web application to see the changes immediately.
the Telerik team
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking
system and vote to affect the priority of the items